Zend Framework チュートリアルのリソース オートローディングの使用例

高洛峰
リリース: 2017-01-03 12:57:40
オリジナル
1215 人が閲覧しました

この記事の例では、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 通常、モジュールにはデフォルトで何らかのリソース タイプが用意されています。リソース オートローダーはこのパラダイムで非常に便利で、デフォルトで有効になっています。

モジュールの基本ディレクトリ構造:

configs/

オフヘルパー/

スクリプト/

モデル/
サービス/
ビュー /
フィルター/
ヘルパー/
スクリプト/
Bootstrap.php

あなたZend_Application_Module_Bootstrap を拡張して、モジュール ブート クラス Bootstrap.php を作成できます。特定のリソースの読み込みは、デフォルトのリソースの読み込みと似ています。

この記事が PHP プログラミングのすべての人に役立つことを願っています。

Zend Framework チュートリアル、リソースの自動ローディングの使用例に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート