私はZend Frameworkの自動読み込み機能を理解しようとしています。Zendフレームワークの自動読み込みの問題
質問:
1は - 私はX/Foo.phpという名前のクラスを含むというフォルダをフォルダ/私のアプリケーションに追加したいと言います。コントローラーから新しいFoo()を実行すると、自動的にロードされます。クラスFooの名前はどうすればいいですか? 「Foo」は問題ありませんか、「Application_X_Foo」という名前を使用すべきですか?
2 - この記事は$ autoloader-> registerNamespace( 'My_')でどうなっていますか?名前空間My_のどこのクラスをどこに置くべきですか?
おかげで、追加したい場合は、クラス名としてApplication_Model_Fooを使用する必要があり、それが
2.-「アプリケーション/モデル/ Foo.php」の下に位置しているアプリケーションの特定のクラスについて
1 - okしかし、そういう意味では、モデル/フォルダが潜在的に異なるドメインに属する可能性があります。アプリケーション/モデル/ mypackage/Foo.phpのようなサブパッケージを持つことは可能ですか? 2 - この2番目のシナリオに関してはすべてクリアです – nourdine
正しい構文に従う限り、必要なすべてのサブディレクトリを持つことができます。指定したものが正しくない場合、その代わりにmodels/MyPackage/Foo.phpを使用する必要があります。クラスはApplication_Model_MyPackage_Fooと呼ばれます。または、これが必要な場合はモジュラー構造を使用することができます:http://framework.zend.com/manual/en/zend.controller.modular.html – arraintxo
ooh yes u r right!だから、基本的に私はモデルの中で欲しい深みに行き、私が望むすべてのサブパッケージを作り、それから私が定義しているクラスの名前でその構造を反映させることができます。たとえば、クラスA/B/C/D/Foo.phpのクラスはApplication_Model_A_B_C_D_Fooです。ニース!私はちょっと掘り下げて、それはこれに依存するように見えるhttp://framework.zend.com/manual/en/zend.loader.autoloader-resource.html#zend.loader.autoloader-resource.module – nourdine