application.ini
ZF の構成ファイルです。ZF のマニュアルに書かれているデフォルト以外にも、いくつかの設定があります。しかし、たとえばアクション コントローラからこれらのパラメータを取得するにはどうすればよいでしょうか? セッション中にこの構成をどこに保存するのが良いですか?
このBootstrap_Abstract
クラスには、読み取りファイルgetOptions()
の単純な php 配列を返すメソッドがあります。application.ini
$app = new Zend_Application(APPLICATION_ENV, '/application.ini');
$config = $app->bootstrap()->getOptions(); // $config is a php array of application.ini
そして、要素をおっとスタイルで取得したいと思います:
$param = $config[one][two]; // vs.
$param = $config->one->two; // like this
ZF にはZend_Config_Ini
、 を読み取り.ini
、正確に ArrayObject を返すクラスがあります。しかし、とにかく読んだ後にapplication.ini
もう一度Zend_Config_Ini
読むことは避けたいと思います。Zend_Application
しかし、Bootstrap
またはZend_Application
クラスは、からの ArrayObject の自動作成を提供しませんapplication.ini
。
次に、この $config をどこに保存すればよいでしょうか? でZend_Registry
?
Zend_Registry::set('config', $config);
そして、いくつかのアクションコントローラーでそれを取得します:
$config = Zend_Registry::get('config'); // I retrieve config
$param = $config->one->two; // I retrieve parameter from it and use it
しかし、それは少し効率が悪いようです:通常の php 配列の形式で のコピーを 1 つと、同じものapplication.ini
のArrayObject の形式でも 1 つのコピーを持っています。私の設定からパラメータを取得するには、2 つの手順を実行する必要があります。この問題をより効率的に解決するにはどうすればよいですか?Bootstrap
application.ini
Zend_Registry