/ Controllerと/ controllersの違い


43

私が年齢を問うことを意味してきた質問は、他の何よりも理論的です。

通常のMagentoモジュールファイル構造を使用した拡張機能の開発に完全に精通しています。ただし、Mageの「拡張機能」の一部を見ると、一部には/ Controllerディレクトリが含まれていることに気付きました。これらのコントローラーの目的は何ですか?/ controllers dir内で通常使用されるコントローラーとどのように違いますか?

名前の構造が異なることがわかるので、異なる方法で自動ロードされる名前を収集していますが、/ Controllerクラスはどのような目的で機能しますか?

皆さんありがとう

回答:


45

あなたが言及したように、違いはオートローディングにあります。一般に、/ Controllerにあるファイルは、/ controllersのクラスが継承する抽象(または親)クラスです。

Magentoは、/ Controllerディレクトリを認識するように構築されていません-それは、慣習の問題です。クラス名はディスク上のこれらの親の場所を示し、オートローダーはそれらを見つけます。これはMage_Sales次の場所にあります。

class Mage_Sales_OrderController extends Mage_Sales_Controller_Abstract

ここで、販売モジュールは内部のコントローラーを見つけapp/code/core/Mage/Sales/controllers、ロードされたコントローラーはオートローダーにでその親を探しますapp/code/core/Mage/Sales/Controller

これは、懸念事項を分離し、具体的なコントローラークラスが共通の機能を継承できるようにするために行われます。


それは完全に理にかなっており、今あなたはそれを説明しましたが、実際にはかなり明らかです!フィルありがとう!
-thebluefox
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.