10

可能性の重複:
How could read application.ini on controller using zend frameworkセッション中にZend application.iniファイルからパラメータを取得する方法は?

application.ini ZFでの設定ファイルです。 ZFマニュアルに書かれているデフォルト以外の設定があります。しかし、どのように私はアクションコントローラからそれらのパラメータを取得することができますか?そして、セッション中にこの設定を保存する方が良いでしょうか?

$app = new Zend_Application(APPLICATION_ENV, '/application.ini'); 
$config = $app->bootstrap()->getOptions(); // $config is a php array of application.ini 

そして、私はそれがOOPスタイルの要素を形成取得したいのですが:

$param = $config[one][two]; // vs. 
$param = $config->one->two; // like this 

ZF

Bootstrap_Abstractクラスはapplication.iniファイルの読み込みの簡単なPHPの配列を返すgetOptions()方法がありますZend_Config_Iniクラスは.iniを読み取り、正確にArrayObjectを返します。しかし、application.iniZend_Config_Iniをもう一度読まないでください。Zend_Applicationはすでに読んでいます。しかし、BootstrapまたはZend_Applicationクラスは、application.iniからArrayObjectの自動作成を提供しません。

もう1つ、この$ 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の形でBootstrapapplication.iniの一つのコピーを持っています同じapplication.iniのコピーですが、Zend_RegistryのArrayObjectの形もあります。私の設定からパラメータを取得するには、2つのステップを実行する必要があります。この問題をより効率的に解決するにはどうすればよいですか?

+2

も参照してください。http://akrabat.com/zend-framework/accessing-your-configuration-data-in-application-ini/ – Phil

答えて

24

Zend_Controller_Frontを使用して、あなたのアプリケーション(コントローラ、プラグイン、モデルなど)のようなコードを使用してどこからでもapplication.iniから情報を取り出すことができます。

application.ini

$config = Zend_Controller_Front::getInstance()->getParam('bootstrap'); 

セイを次のようないくつかのオプションを持っていました

$apikeys = $config->getOption('apikeys'); 
$mapsId = $apikeys['google']['maps']['id']; // abc 
$maksKey = $apikeys['google']['maps']['key']; // 123456789 
$twitKey = $apikeys['twitter']['oauth'];  // 20jg9032jg9320gj30 
012:
apikeys.google.maps.id = "abc" 
apikeys.google.maps.key = "123456789" 
apikeys.twitter.oauth = "20jg9032jg9320gj30" 

次に、上記$config変数を使用してこれらの値にアクセスすることができます

希望があれば

+0

+1、素敵な説明 – SagarPPanchal

関連する問題