3.2. Zend_Config_Array
前のページ | 第3章 Zend_Config | 次のページ

## 3.2. Zend_Config_Array

### 3.2.1. 導入

`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 型の値となります
    ?>

前のページ | 上に戻る | 次のページ
第3章 Zend_Config | ホーム | 3.3. Zend_Config_Ini