2012-02-17 3 views
2

私はデフォルトのZend_Applicationデザインパターンを使用しています。これは、アプリケーションのブートストラップにzend config iniファイルを自動的にロードするため、多くのモデルとコントローラにわたってiniファイルの変数が必要です。Zend_Application_Bootstrap_BootstrapのgetOptions()にアクセスする

今、私はZend_Registryへのキーとして設定して設定オブジェクトを、それを解決しています:

protected function _initConfig() 
{ 
    $config = new Zend_Config($this->getOptions()); 
    Zend_Registry::set('config', $config); 
} 

それは、コード自動で完了提供していないとして一般的に、私は、Zend_Registryを使用して好きではありません私のIDEは、レジストリの名前空間にあるものを追跡するのは難しいです。

Zend_Applicationのconfig iniにアクセスする別の方法はありますか?

$options = new Zend_Config_Ini('/path/to/config.ini', 
           'config'); 

WICHを自分で必要に応じてあなたはいつもそれを初期化することができ

答えて

4

。モデルの場合は、本当に必要なオプションを渡す必要があります。さもなければあなたの唯一の選択は本当にレジストリです。

+0

ありがとうございました!よく働く – aporat

0

はかなりのブートストラップがあなたのために何をするかです。それで$ optionsにオートコンプリートがあります。しかし、必要なときに毎回それを初期化する必要があります。 オートコンプリートに合うようにコードを修正することは、これまでにない最も素晴らしいアイデアだと思います。しかし、これは個人的です。

私がZend Studio 8/9(多分7)と間違えていないのであれば、Zend_Registry::get()で返されたオブジェクトでもオートコンプリートしています。

$this->getInvokeArg('bootstrap')->getOptions(); 

に設定にアクセスするには:あなたが行うことができるはずコントローラで

関連する問題