0

名前空間からクラスのセット全体を読み込もうとしています。これらは単なるユーティリティクラスであり、アクションヘルパー、ビューヘルパー、またはあらゆる種類のプラグインとして扱いたくありません(ドキュメントのおかげで、これらは非常にうまく機能しています)。

Zendのようなディレクトリ構造を使用しています。たとえば、Resources_Employee_Salaryというクラスがlibrary / Resources / Employee/Salary.phpに保存されています。

アクションコントローラーを使用しているときに、Resources_Employee_Salaryのインスタンスを作成したいのですが、クラスが見つからないため、作成できません。

ZendにResources/*の下のクラスを一度だけロードさせるには、何をする必要がありますか?Zend_Loaderを調べましたが、特定のファイルまたはクラスを要求するメソッドがあり、ディレクトリ全体をロードしたいと思います。

どんな助けでもありがたいです。

ありがとうございました、

4

1 に答える 1

2

クラスに適切な名前を付ける必要があります...

Path: library/Resources/Employee/Salary.php
Class: Resources_Employee_Salary

次に、名前空間をオートローダーに登録する必要があります...

$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->registerNamespace('Resources_');

もちろん、プロジェクト構成ファイルでこれを指定することもできるので、手動で行う必要はありません... XML形式では、これは次のようになります(ini形式が好きかどうかはわかりません...):

<?xml version="1.0" encoding="UTF-8"?>
<application xmlns:zf="http://framework.zend.com/xml/zend-config-xml/1.0/">
  <production>
    <autoloaderNamespaces>
      <resources value="Resources_" />
    </autoloaderNamespaces>
  </production>
</application>
于 2011-04-05T00:01:25.797 に答える