Available Languages
Manual for Zend Framework 1.0.3
Zend_Config_Ini は、おなじみの INI
形式のファイルに保存された設定データを、Zend_Config
を通じてオブジェクトのプロパティとして扱えるようにします。
この INI 形式は、階層化された設定データを扱うこと、
そしてセクション間の継承関係を扱うことに特化されています。
設定データの階層構造は、キーの名前をドットあるいはピリオド
(.) で区切ることによって表現します。
他のセクションを拡張するなどの継承関係は、
セクション名に続けてコロン (:) を、
そしてその後に継承元のセクション名を指定することで表します。
![]() |
parse_ini_file |
|---|---|
|
![]() |
キーの区切り文字 |
|---|---|
|
デフォルトでは、キーの区切り文字はピリオド ( <?php
require_once 'Zend/Config/Ini.php';
$config['nestSeparator'] = ':';
$config = new Zend_Config_Ini('/path/to/config.ini', 'staging', $config);
|
例 5.3. Zend_Config_Ini の使用法
この例は、Zend_Config_Ini を使用して
INI ファイルから設定データを読み込むための基本的な方法を説明するものです。
この例では、運用環境の設定と開発環境の設定を両方管理しています。
開発環境用の設定データは運用環境用のものと非常に似ているので、
開発環境用のセクションは運用環境用のセクションを継承させています。
今回の場合なら、逆に運用環境用のセクションを開発環境用のものから継承させてもいいでしょう。
そうしたからといって特に状況が複雑になるわけではありません。
ここでは、次のような内容の設定データが
/path/to/config.ini に存在するものとします。
; 運用環境の設定データ
[production]
webhost = www.example.com
database.type = pdo_mysql
database.host = db.example.com
database.username = dbuser
database.password = secret
database.name = dbname
; 開発環境の設定データは、運用環境のデータを継承したうえで
; 必要に応じて値を上書きします
[staging : production]
database.host = dev.example.com
database.username = devuser
database.password = devsecret
次に、開発者が開発環境用の設定データを INI ファイルから読み込むことを考えます。 これは簡単なことで、単に INI ファイルとセクションを指定するだけです。
<?php
require_once 'Zend/Config/Ini.php';
$config = new Zend_Config_Ini('/path/to/config.ini', 'staging');
echo $config->database->host; // "dev.example.com" と出力します
echo $config->database->name; // "dbname" と出力します
Welcome!
Welcome to ZFResource - The Resource for the Zend Framework.
As you see, the website is in still in progress. Many features ( like Code Directory, Code Samples, User written Tutorials, Examples and News,...) will be online in near future.
At the moment, you can search and browse the manual in your language of
choice. Don't forget to come back later to benefit from the new features.
Help Wanted:
We are still searching for people want to help building this site. If you want to see this website in your language or you have any suggestions for this site please send us an email
![[注意]](images/note.png)
