在资源方面,核心Magento似乎有两种文件夹结构样式.有很多使用mysql4文件夹和其他简单的使用Resource文件夹.
即安装脚本将存在于此处:Mycompany_Mymodule_Model_Resource_Setup.
这是遗产还是其他原因 - 或者这只是不同核心开发人员之间的编码风格吗?
Ala*_*orm 16
第一:Magento的文件夹结构只是因为其自动加载器的实现而存在.如果你试图从Magento中放置文件的地方获得太多意义,你会发疯,不同的模块似乎遵循不同的约定.自动加载器将寻找
Mage_Core_Model_Foo_Bar
Run Code Online (Sandbox Code Playgroud)
在
Mage/Core/Model/Foo/Bar.php
Run Code Online (Sandbox Code Playgroud)
所以我将讨论下面的命名约定,它将间接解决文件在特定文件夹中的原因.
最初所有数据库资源都以Mysql4约定命名.我和一些原始开发人员进行了交谈,目的是表示该资源是针对当时"标准"的Mysql 4数据库.如果一个资源使用了Mysql 5的特定功能,那么他们就已经使用了一个Mysql5约定.
随着Magento Inc.经历了通常的创业流失,而其他开发人员接管了原始开发人员停止的地方,他们的想法发生了变化.Magento 1.6版本为企业版支持多个RDBMS奠定了基础,改变了这些资源的工作方式和命名方式.
保持了向后兼容性,但大多数旧Mysql4资源都被重命名为使用泛型Resource,并引入了一种用于多个RDBMS支持的新方法.