3.3. Zend_Config_Ini
前のページ | 第3章 Zend_Config | 次のページ

## 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` 固有の挙動としては、 `true`、`false`、`yes`、`no` および `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" と出力します。
    ?>

前のページ | 上に戻る | 次のページ
3.2. Zend_Config_Array | ホーム | 3.4. Zend_Config_Xml