リソースに関して言えば、コア Magento には 2 つのスタイルのフォルダー構造があるようです。mysql4 フォルダーを使用したり、Resource フォルダーを使用した他の単純なものを使用したりすることがかなりあります。
つまり、インストール スクリプトは Mycompany_Mymodule_Model_Resource_Setup にあります。
これには、レガシーまたはその他の理由がありますか?それとも、これは単に異なるコア開発者間のコーディングスタイルですか?
リソースに関して言えば、コア Magento には 2 つのスタイルのフォルダー構造があるようです。mysql4 フォルダーを使用したり、Resource フォルダーを使用した他の単純なものを使用したりすることがかなりあります。
つまり、インストール スクリプトは 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. が通常のスタートアップ チャーンを経験し、他の開発者が元の開発者が中断したところを引き継いだため、これに関する考え方が変わりました。Enterprise Edition が複数の RDBMS をサポートするための基礎を築いた Magento 1.6 リリースでは、これらのリソースの動作方法と命名方法が変更されました。
下位互換性は維持されましたが、ほとんどの古いMysql4
リソースはジェネリックを使用するように名前が変更され、複数の RDBMS をサポートResource
する新しい方法が導入されました。