アプリケーションの設定データは一箇所に集めて一覧で見ることができるとスッキリして設定しやすくなります。
Zend_Configコンポーネントはそれを実現できる2つのアダプタクラス『Zend_Config_Ini』『Zend_Config_Xml』を用意しています。
2つのアダプタクラスは設定ファイルの記述形式が違うだけで、読み取ってしまえば同じZend_Configオブジェクトになり、あとは使い方は同じです。
アダプタクラスは設定された階層構造を読み取り、独自ルールの配列(Zend_Configオブジェクト)に変換する感じです。
また、アダプタクラスを使わないで直接Zend_Configのコンストラクタに配列を渡しても同様のZend_Configオブジェクトを作成できます。
以下はデータベース接続情報をINI形式で記述した例と、この設定ファイルを読み取ってデータベース接続用のアダプタオブジェクトを作成するまでのスクリプト記述例になります。
データベース接続情報 [htdocs/db_info.ini]
行頭";"セミコロンはコメント行になります。
"[セクション名]"でファイル内を複数のセクションに分けることができます。
行頭"db"は、後で指定するときに分かりやすいように付けたもので、自由に付けても付けなくても構わない部分です。
階層構造はドットで区切ります。
データベース接続スクリプト [htdocs/index.php]
たったこれだけの為に別ファイルを設けるのがイヤなら以下のようにZend_Config_Iniアダプタクラスを使わないで直接配列を渡してZend_Configオブジェクトを作成する方法もあります。
データベース接続スクリプト [htdocs/index.php]
これもアリですね。ちと抽象化レイヤーの意に反するかも知れないけど私的にはアリです。
Zend_Configとは関係ないですが、データベース接続は以下のようにZend_Db_Adapter_Pdo_Mysqlクラスに直接配列を渡して作ることもできます。この方がよりコンパクト