Google を調べてみましたが、6 つのモジュール サブフォルダーのそれぞれが何であるかを説明している単一のサイトが見つかりません。私は通常、Google で物事を見つけるのが得意ですが、これは常に何も思いつきません。
Magento モジュールの各サブフォルダー (ブロック、コントローラーなど、ヘルパー、モデル、SQL) の違いを誰かが説明できますか?
Google を調べてみましたが、6 つのモジュール サブフォルダーのそれぞれが何であるかを説明している単一のサイトが見つかりません。私は通常、Google で物事を見つけるのが得意ですが、これは常に何も思いつきません。
Magento モジュールの各サブフォルダー (ブロック、コントローラーなど、ヘルパー、モデル、SQL) の違いを誰かが説明できますか?
非常に簡単に言えば:
ブロックは、コンテンツ (フロントエンド、バックエンド、電子メールなどのすべて) のレンダリングを担当します。コンテンツがどこかに表示されている場合、それはブロックである可能性があります。
コントローラは、URL 経由で行われたすべてのリクエストを処理する責任があります。http://www.example.com/catalog/product/view/id/9/という URL にアクセスすると、 controllers/ProductController.phpのカタログモジュールにアクセスし、その中にあるviewAction()メソッドにアクセスします。Magento で URL にヒットすると、リクエストは 1 つ以上のコントローラーを通過します。
etcには、モジュールの構成 xml ファイルが含まれています。これらは、ACL (アクセス制御リスト) からブロック/モデルなどへのアクセス方法、システム構成設定まで、すべてを担当します。いくつかのサンプル ファイル:
ヘルパー- これらのファイルは「ヘルパー」です。それらには、モジュールに共通の機能、または他のモジュールからアクセスできる機能が含まれています。これらの機能の 1 つは、翻訳を提供することです。さらに、Data.php は、ここに含まれるデフォルトのヘルパーです。システム構成がある場合、システム構成を正しく表示するには Data.php が必要です。
モデル- これらはデータのオブジェクトです。たとえば、製品またはカテゴリはモデルです。データ管理機能を提供します。モデル フォルダーに含まれるリソース フォルダーとインターフェイスしてデータベースにアクセスし、コレクションとインターフェイスしてオブジェクトのコレクションを取得します。
sql - これらはセットアップ スクリプトです。モジュールが正しく構成されている場合、モジュールがインストールされると、データベースにいくつかの変更を加える必要がある場合があります: テーブル、製品への属性、またはカスタム構成の追加。
http://alanstorm.com/category/magentoをご覧になることをお勧めします
彼には多くのサンプル、チュートリアル、およびその他の優れたヒントがあり、より完全な出発点です。
各機能を理解する最善の方法は、コア内のモジュールを確認することです。
ヘルパー- Magento のヘルパー クラスには、オブジェクトと変数に対して一般的なタスクを実行できるユーティリティ メソッドが含まれています。例: $helper = Mage::helper('catalog')
ブロック- 各ブロック オブジェクトは、HTML の特定のビットをレンダリングします。ブロック オブジェクトは、PHP コードの組み合わせと、PHP .phtml テンプレート ファイルの組み合わせによってこれを行います。ブロック オブジェクトは、Magento システムとやり取りしてモデルからデータを取得することを目的としていますが、phtml テンプレート ファイルはページに必要な HTML を生成します。
コントローラー- どの PHP システムでも、メインの PHP エントリ ポイントは PHP ファイルのままです。Magento も例外ではなく、そのファイルは index.php です。
Magento モデル- Magento は、最近のほとんどのフレームワークと同様に、オブジェクト リレーショナル マッピング (ORM) システムを提供します。ORM を使用すると、SQL を記述するビジネスから解放され、純粋に PHP コード (およびその他のコア ビジネス ロジック) を介してデータストアを操作できるようになります。
etc - これは、構成ファイル (config.xml、system.xml、および/または adminhtml.xml) を配置する場所であり、magento にモジュールがアクセスできるものと、カスタム モジュールに関するその他の構成を通知します (例を参照) 。
sql - これは、セットアップ スクリプトを配置する場所です (たとえば、新しいテーブルを magento db に追加します)。