当涉及到资源时,在核心Magento中似乎有两种文件夹结构。有相当多的使用mysql4文件夹和其他简单使用资源文件夹。
例如,安装脚本将在这里: Mycompany_Mymodule_Model_Resource_Setup。
这是有原因的吗,遗留的或者其他的-或者这仅仅是不同核心开发人员之间的一种编码风格?
发布于 2012-04-04 05:11:59
首先:Magento的文件夹结构只存在于,因为它的自动加载器的实现。如果你试图从Magento中文件的位置派生出太多的含义,你会发疯的,而且不同的模块似乎遵循不同的约定。自动加载器将查找
Mage_Core_Model_Foo_Bar在……里面
Mage/Core/Model/Foo/Bar.php因此,我将在下面讨论命名约定,它将间接解决为什么文件位于特定文件夹中。
最初,所有数据库资源都使用Mysql4约定命名。我已经与一些原始开发人员进行了交谈,他们的意图是指出该资源是用于当时的“标准”MySQL4数据库的。如果一个资源使用了特定的特性,比如MySQL5,那么他们就应该使用Mysql5约定。
随着Magento Inc.经历了通常的创业流失,其他开发人员接管了原始开发人员离开的地方,人们对此的想法发生了变化。Magento 1.6版本为企业版对多RDBMS的支持奠定了基础,改变了这些资源的工作方式和命名方式。
保留了Backwards compatibility,但大多数旧的Mysql4资源被重命名为使用通用Resource,并引入了支持多个关系数据库的new method。
https://stackoverflow.com/questions/10000603
复制相似问题