第5章 Zend_Config

目次

5.1. 導入
5.2. 動作原理
5.3. Zend_Config_Ini
5.4. Zend_Config_Xml

5.1. 導入

Zend_Config は、アプリケーションの設定データを 簡単に使用できるようにするために設計されたものです。 階層構造になったプロパティを使用して、設定データを簡単に アプリケーションに読み込めるようになっています。 設定データは、階層構造のデータ保存をサポートしている さまざまな媒体から読み込むことができます。 現時点で Zend_Config が提供している設定データアダプタは Zend_Config_IniZend_Config_Xml の二種類で、テキストファイルに格納された設定データを使用できるようになっています。.

例 5.1. Zend_Config の使用例

通常は、Zend_Config_Ini あるいは Zend_Config_Xml のようなアダプタクラスを使用することが想定されています。 しかし、もし設定データが PHP の配列として存在するのなら、 単にそれを Zend_Config のコンストラクタに渡すだけで、 シンプルなオブジェクト指向のインターフェイスを使用することができます。

<?php
// 設定データは配列で渡されます
$configArray = array(
    'webhost' => 'www.example.com',
    'database' => array(
        'type'     => 'pdo_mysql',
        'host'     => 'db.example.com',
        'username' => 'dbuser',
        'password' => 'secret',
        'name'     => 'dbname'
    )
);

// 設定データに対するオブジェクト指向のラッパーを作成します
require_once 'Zend/Config.php';
$config = new Zend_Config($configArray);

// 設定データを表示します (結果は 'www.example.com' となります)
echo $config->webhost;

// 設定データを使用してデータベースに接続します
$myApplicationObject->databaseConnect($config->database->type,
                                      $config->database->host,
                                      $config->database->username,
                                      $config->database->password,
                                      $config->database->name);

上の例で説明したように、Zend_Config を使用すると、 コンストラクタに渡されたデータについて、 階層化されたプロパティの形式でアクセスできるようになります。