に役立ちます願っています。
- 設定を複数のファイルに分割します。私の場合は、
- すべて(私の場合は2)Zend_Config_Iniをがseparetlyオブジェクトが、1つ
にallowModificationを設定して作成し、いくつかのバージョン固有のデータを保持しているほぼすべての私の設定と小1 version.iniを保持する1大型のapplication.iniを持っています
- Zend_Config_Ini-> Merge()機能を使用してすべての設定をマージし、それを読み取り専用に設定する
- 設定の一部を更新するには、その特定のiniファイルから新しいZend_Config_iniオブジェクトを作成し、変更を許可して範囲をスキップします。
- Zend_Config_Writer_iniで設定を更新し、変更を書き込む
例コード:
/* Load the config */
//Get the application-config and set 'allowModifications' => true
$config = new Zend_Config_Ini('../application/configs/application.ini',$state, array('allowModifications' => true));
//Get the second config-file
$configVersion = new Zend_Config_Ini('../application/configs/version.ini');
//Merge both config-files and then set it to read-only
$config->merge($configVersion);
$config->setReadOnly();
/* Update a part of the config */
$configVersion = new Zend_Config_Ini(
APPLICATION_PATH.'/configs/version.ini',
null,
array('skipExtends' => true, 'allowModifications' => true)
);
//Change some data here
$configVersion->newData = "Some data";
//Write the updated ini
$writer = new Zend_Config_Writer_Ini(
array('config' => $configVersion, 'filename' => 'Path_To_Config_files/version.ini')
);
try
{
$writer->write();
}
catch (Exception $e) {
//Error handling
}
はい、それが標準で使用され、私は自分のアプリケーションでそれを使用しますが、私は一般的なセクションを持っている必要がありますセクションとの私のコメントを置き換えるためにされ、その後、Zendのコンフィグセッション継承php configセクション、アプリケーションが接続するさまざまなデータベースとサービスのユーザ名/パスワードを持つさまざまなセクションがあります。私はそれらのすべてがそれらの "上"のものを継承する必要がある18のセクションまたはそうで終わるでしょう。今のところ私は2つの設定ファイルを使用して解決しましたので、私のコメントのほとんどをメインファイルに保存できます。 – Lobo