Zend_Config_Array
は、多次元の連想配列に保存された設定データを、
Zend_Config
を通じてオブジェクトのプロパティとして扱えるようにします。
例 3.2. PHP の配列に保存された設定データ
この例は、Zend_Config_Array
で PHP の配列からデータを読み込む
基本的な方法を説明するものです。まずは設定データを含む PHP 配列を作る必要があります。
<?php // 本番環境の設定データ $config['production'] = array( 'webhost' => 'www.example.com', 'database' => array( 'type' => 'pdo_mysql', 'host' => 'db.example.com', 'username' => 'dbuser', 'password' => 'secret', 'name' => 'dbname' ) ); // 開発用環境の設定データは、本番環境の内容を継承したうえで // 必要に応じて上書きします。 $config['staging'] = $config['production']; $config['staging']['webhost'] = 'dev.example.com'; $config['staging']['database']['host'] = 'dev.example.com'; $config['staging']['database']['username'] = 'devuser'; $config['staging']['database']['password'] = 'devsecret'; ?>
注意 | |
---|---|
設定データの配列は、PHP スクリプトに $config
という名前で読み込まれる必要があります。
|
上の例において、production
セクションの内容を
staging
セクションに代入することによって継承がサポートされています。
ここまでくれば、Zend_Config_Array
から設定データを読み込むのは簡単な話です。
<?php require_once 'Zend/Config.php'; require_once 'Zend/Config/Array.php'; $config = new Zend_Config(Zend_Config_Array::load('/path/to/config.php', 'staging')); echo $config->database->host; // "dev.example.com" と出力します ?>
設定データは直接 PHP の配列に追加されるので、各データの型は
$config
配列を含む PHP スクリプトで指定したものと同じになることに注意しましょう。
<?php $config['staging']['debug'] = 'false'; // string 型の値となります $config['staging']['console'] = false; // boolean 型の値となります $config['staging']['timeout'] = 30; // integer 型の値となります ?>