2012-04-03 43 views
7

當涉及到資源時,核心Magento似乎有兩種樣式的文件夾結構。有很多使用mysql4文件夾和其他簡單的使用資源文件夾。Magento - 模塊約定mysql4或資源

I.e.安裝腳本將住在這裏:Mycompany_Mymodule_Model_Resource_Setup。

是否有這樣的原因,遺產或其他 - 或者這只是不同核心開發人員之間的編碼風格?

回答

16

第一: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資源被重命名爲使用通用Resourcenew method多個RDBMS的支持進行了介紹。

+0

好的很好 - 謝謝艾倫,我很確定這將是一件遺留的事情。 – 2012-04-03 21:31:40