0

編集:追加の質問:

  • 最後に「.php」を追加する必要がありますかnew NAMSPACE_CLASSNAME
  • コントローラ/モデル内のZendパッケージにアクセスできますか?例:

/*コントローラー//メソッド//内部*/

メソッド$client= new Zend_Http_Client(' http: //example.org'、array('maxredirects' => 0、'timeout' => 30));

やあ、

サードパーティのライブラリをZendFrameworkに追加する方法をすでに尋ねたので、ライブラリが私controllersmodelsviewsなどのそれぞれで利用可能かどうかも尋ねたいと思いました。名前空間を登録してそのクラスを自動ロードするということは、登録'MyClassXY_'すると次を使用できるようになることを意味します。 MyClassXY_someMethod'

私の質問の他の部分は、コントローラー内でZendの内部クラス/コンポーネント/メソッドを使用することについてです。CakePHPから知っているように、コントローラー/モデルで任意のCakePHPクラス/コンポーネントを使用できるようにApp::import('appIwantToLoad')するか、を使用することができます。componentZendFrameworkは少し異なっているようです。たとえば、ファクトリメソッドに配置されたパラメータの配列を使用してインスタンス化する「ファクトリ」メソッドについて聞いたことがあります。Cache Object

それでも私の問題が何であるかを理解していない場合は、簡単な例を示します。

コントローラの前に座って、ZendFrameworkのACLまたはキャッシュモジュールにアクセスしたいと思います。ロードする特定の名前空間を設定せず(ロードするのは「Default_」のみ)、ロードする特定のリソースも設定しませんでした(FrontControllerと他のすべての基本的なMVCリソースを除く)。

これで、($Namespace_Module_AdditionalStuff$ZendModuleXY = $Zend_Module_AdditionalStuff::constructionMethodを使用して、このクラスまたはそのクラスまたはメソッドにグローバルにアクセスできますか?

どうもありがとうございます。

4

1 に答える 1

1

MyClassXY libの自動ロードを設定すると、そのディレクトリの下にある任意のクラスを使用できます。例えば:

//if there is library/MyClassXY/Foo.php with class MyClassXY_Foo
new MyClassXY_Foo
//is valid

b)ブートストラップされたリソースをZend_Registryに保存できます。

Zend_Registry::set('dbConnection', $resource);

class App_Another_Class
{
    /* */
    $resource = Zend_Registry::get('dbConnection');
}
于 2009-10-15T18:00:27.460 に答える