3.3. Zend_Config_Ini

3.3.1. 導入

Zend_Config_Ini は、おなじみの INI 形式のファイルに保存された設定データを、 Zend_Config を通じてオブジェクトのプロパティとして扱えるようにします。

例 3.3. 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]
extends = production
database.host     = dev.example.com
database.username = devuser
database.password = devsecret
                

[注意] 注意
INI ファイルの構文は、PHP の parse_ini_file() 関数が受け付ける形式と似ていることに注意しましょう。 Zend_Config_Ini は、この関数を使用しています。 Zend_Config_Ini 固有の挙動としては、 truefalseyesno および null のような特殊な値がどのように変換されるかといったものがあります。 このドキュメントをよく読んでください。

INI ファイル内で継承を行うには、キーワード extends を使用します。 そのセクションの継承元であるセクションの名前を、キー extends の値として指定します。設定データを INI ファイルから読み込むには、次のようにします。

<?php
require_once 'Zend/Config.php';
require_once 'Zend/Config/Ini.php';

$config = new Zend_Config(Zend_Config_Ini::load('/path/to/config.ini', 'staging'));

echo $config->database->host; // "dev.example.com" と出力します。
?>