2

Zend_Applicationアプリケーションのブートストラップで zend config ini ファイルを自動的にロードするデフォルトのデザイン パターンを使用しています。多くのモデルとコントローラーでファイルの変数を ini する必要があります。

現在、configオブジェクトをキーとして次のように設定することで解決していますZend_Registry

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

Zend_Registry通常、 IDE でコードのオートコンプリートが提供されず、レジストリ名前空間にあるものを追跡するのが難しいため、私はを使用するのが好きではありません。

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

4

2 に答える 2

4

コントローラーでは、次のことができるはずです。

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

構成にアクセスします。モデルの場合、必要なオプションを渡す必要があります。それ以外の場合、唯一の選択肢は実際にはレジストリです。

于 2012-02-17T18:30:44.100 に答える
0

必要に応じて、いつでも自分で初期化できます

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

Wichは、ブートストラップがあなたのために行うこととほぼ同じです。次に、$optionsでオートコンプリートが必要になります。ただし、必要になるたびに初期化する必要があります。オートコンプリートに合うようにコードを変更することは、これまでで最高のアイデアではないと思います。しかし、これは個人的なものです。

Zend Studio 8/9(おそらく7)と間違えていなければ、によって返されたオブジェクトに対してもオートコンプリートがありますZend_Registry::get()

于 2012-02-17T18:22:36.910 に答える