當涉及到資源時,核心Magento似乎有兩種樣式的文件夾結構。有很多使用mysql4文件夾和其他簡單的使用資源文件夾。Magento - 模塊約定mysql4或資源
I.e.安裝腳本將住在這裏:Mycompany_Mymodule_Model_Resource_Setup。
是否有這樣的原因,遺產或其他 - 或者這只是不同核心開發人員之間的編碼風格?
當涉及到資源時,核心Magento似乎有兩種樣式的文件夾結構。有很多使用mysql4文件夾和其他簡單的使用資源文件夾。Magento - 模塊約定mysql4或資源
I.e.安裝腳本將住在這裏:Mycompany_Mymodule_Model_Resource_Setup。
是否有這樣的原因,遺產或其他 - 或者這只是不同核心開發人員之間的編碼風格?
第一:Magento的文件夾結構存在只有,因爲它的自動加載器的實現。如果您試圖從Magento中放置文件的位置獲得太多含義,您會發瘋,而不同的模塊似乎遵循不同的約定。自動加載磁帶機將尋找
Mage_Core_Model_Foo_Bar
在
Mage/Core/Model/Foo/Bar.php
所以我將談論以下命名約定,這將間接解決爲什麼一個文件是在一個特定的文件夾中。
最初所有的數據庫資源都使用Mysql4
約定命名。我曾與幾位原始開發人員進行了交流,其目的是表示該資源適用於當時的「標準」Mysql 4數據庫。如果某個資源使用了某個特定功能,例如Mysql 5,那麼他們會使用Mysql5
約定。
由於Magento Inc.經歷了平時的啓動流失,並且其他開發人員接管了原始開發人員離開的地方,所以思路改變了。 Magento 1.6版本爲企業版支持多個RDBMS奠定了基礎,改變了這些資源的工作方式和命名方式。
Backwards compatibility維持,但大部分老Mysql4
資源被重命名爲使用通用Resource
和new method多個RDBMS的支持進行了介紹。
好的很好 - 謝謝艾倫,我很確定這將是一件遺留的事情。 – 2012-04-03 21:31:40