Zend アプリケーション全体で使用する必要がある変数を初期化したいと考えています。どこで初期化すればよいですか?index.phpまたはbootstrap.phpで?
4 に答える
ブートストラップは正しい場所です。Bootstrap は Web アプリケーションに使用され、index.php に対する CLI アプリケーションは、アプリが Web アプリとして使用される場合にのみ使用されます。
使用する変数の種類に大きく依存すると思います。アプリケーションのどこでも使用できるシステム パスやパブリック URL などを定義したい場合は、index.php ファイルで define('varname', 'value') を使用できます。コアシステムでのみ使用されるいくつかの主要なものだけを実際に保持したいと思います。そうしないと、コードがすぐに混乱してしまいます。残りについては、Boostrap.php ファイルで初期化できます。
値をグローバルに保存する場合。zend レジストリを使用できます。お気に入り
Zend_Registry::set('index', 'value');
:-
Zend_Registry::get('index');
Zendマニュアルの引用:
レジストリは、アプリケーション空間にオブジェクトと値を格納するためのコンテナーです。値をレジストリに保存することで、アプリケーション全体で同じオブジェクトを常に使用できます。このメカニズムは、グローバル ストレージの使用に代わるものです。
これをブーストラップのレジストリ (Zend_Registry) に入れるか、設定ファイル (application.ini) に入れることができます。