ホームページ > php教程 > PHP开发 > Zend Framework チュートリアルのリソース オートローディングの使用例

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

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

この記事の例では、Zend Framework でのリソースの自動読み込みの使用法について説明します。参考までに皆さんと共有してください。詳細は次のとおりです:

通常、アプリケーションを開発するとき、クラス ファイル名は標準の Zend Framework 推奨事項に従って定義されていない可能性があります。つまり、クラス ファイルはオートローダーによって検出されません。 。 Zend_Loader_Autoloader_Resource はソリューションを提供します。

リソースは、コンポーネントの名前空間 (オートローダーに追加される名前空間) とパス (オートローダーのベース パスに対する相対パス) に対応する名前です。たとえば、次のようになります:

1

2

3

4

$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
リソース ローダーを作成します:

1

2

3

4

$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」です)。

具体的な定義は以下の通りです:

1

2

3

$loader->addResourceType('form', 'forms', 'Form')

    ->addResourceType('model', 'models', 'Model')

    ->addResourceType('dbtable', 'models/DbTable', 'Model_DbTable');

ログイン後にコピー

はコンストラクタでも指定できます

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

$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',

    ),

  ),

));

ログイン後にコピー

リソースの定義に使用されます

1

2

$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 サイトに注目してください。

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