この記事の例では、Zend Framework でのリソースの自動読み込みの使用法について説明します。参考までに皆さんと共有してください。詳細は次のとおりです:
通常、アプリケーションを開発するとき、クラス ファイル名は標準の Zend Framework 推奨事項に従って定義されていない可能性があります。つまり、クラス ファイルはオートローダーによって検出されません。 。 Zend_Loader_Autoloader_Resource はソリューションを提供します。
リソースは、コンポーネントの名前空間 (オートローダーに追加される名前空間) とパス (オートローダーのベース パスに対する相対パス) に対応する名前です。たとえば、次のようになります:
$loader = new Zend_Application_Module_Autoloader(array( 'namespace' => 'Blog', 'basePath' => APPLICATION_PATH . '/modules/blog', ));
具体的な例は次のとおりです:
path/to/some/resources/
|--forms/
| `-- Guestbook.php使用する 使用する 使用する 使用する 使用する アウトスルー スルー スルー - - ‐ `- ‐ Guestbook.php // Foo_Model_DbTable_Guestbook
|-- Guestbook.php // Foo_Model_Guestbook
| `-- GuestbookMapper.php // Foo_Model_GuestbookMapper
リソース ローダーを作成します:
$loader = new Zend_Loader_Autoloader_Resource(array( 'basePath' => 'path/to/some/resources/', 'namespace' => 'Foo', ));
Zend_Loader_Autoloader_Resource:: addResourceType() パラメータは 3 つあります: リソース名、指定されたリソース パスの相対リソース パス名、およびリソース タイプ コンポーネント プレフィックス。
上記のツリーには、form (サブディレクトリ Forms のリソース プレフィックスは Form)、model (サブディレクトリ models のリソース プレフィックスは Model)、および dbtable (サブディレクトリ「models/ DbTable」、リソースのプレフィックスは「Model_DbTable」です)。
具体的な定義は以下の通りです:
$loader->addResourceType('form', 'forms', 'Form') ->addResourceType('model', 'models', 'Model') ->addResourceType('dbtable', 'models/DbTable', 'Model_DbTable');
はコンストラクタでも指定できます
$resourceLoader = new Zend_Loader_Autoloader_Resource(array( 'basePath' => 'path/to/some/directory', 'namespace' => 'My', 'resourceTypes' => array( 'acl' => array( 'path' => 'acls/', 'namespace' => 'Acl', ), 'form' => array( 'path' => 'forms/', 'namespace' => 'Form', ), 'model' => array( 'path' => 'models/', 'namespace' => 'Model', ), ), ));
リソースの定義に使用されます
$form = new Foo_Form_Guestbook(); $guestbook = new Foo_Model_Guestbook();
モジュール内のリソースは自動的にロードされます
Zend Framework の MVC 通常、モジュールにはデフォルトで何らかのリソース タイプが用意されています。リソース オートローダーはこのパラダイムで非常に便利で、デフォルトで有効になっています。
モジュールの基本ディレクトリ構造:
d2397dd86d29a9a1cff681f5f46c559c
configs/オフヘルパー/
スクリプト/ モデル/
サービス/
ビュー /
フィルター/
ヘルパー/
スクリプト/
Bootstrap.php
あなたZend_Application_Module_Bootstrap を拡張して、モジュール ブート クラス Bootstrap.php を作成できます。特定のリソースの読み込みは、デフォルトのリソースの読み込みと似ています。
この記事が PHP プログラミングのすべての人に役立つことを願っています。
Zend Framework チュートリアル、リソースの自動ローディングの使用例に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。