Zend_Config_Xml(日本語)Zend_Config_Xml を使用すると、シンプルな XML 形式で保存した設定データを、オブジェクトのプロパティとして扱えるようになります。 XML ファイルあるいは文字列のルート要素は設定には関係しないので、 任意の名前がつけられます。 その直下のレベルの XML 要素が設定データのセクションに対応します。 セクションレベルの要素の下に XML 要素を配置することで、 階層構造をサポートします。 末端レベルの XML 要素が設定データの値に対応します。 セクションの継承は、XML の属性 extends でサポートされます。この属性の値が、 データを継承しているセクション名を表します。
Example #1 Zend_Config_Xml の使用法 この例は、Zend_Config_Xml を使用して XML ファイルから設定データを読み込むための基本的な方法を説明するものです。 この例では、運用環境の設定と開発環境の設定を両方管理しています。 開発環境用の設定データは運用環境用のものと非常に似ているので、 開発環境用のセクションは運用環境用のセクションを継承させています。 今回の場合なら、逆に運用環境用のセクションを開発環境用のものから継承させてもいいでしょう。 そうしたからといって特に状況が複雑になるわけではありません。 ここでは、次のような内容の設定データが /path/to/config.xml に存在するものとします。
次に、開発者が開発環境用の設定データを XML ファイルから読み込むことを考えます。 これは簡単なことで、単に XML ファイルとセクションを指定するだけです。 Example #2 Zend_Config_Xml におけるタグの属性の使用 Zend_Config_Xml では、設定内でノードを定義する際にさらに 2 通りの方法を用意しています。 どちらも属性を使用するものです。extends 属性や value 属性は予約語 (後者は、属性を使う 2 番目の方法で使用します) となり、使用できません。属性を使用する方法のひとつは、 親ノードに属性を追加するものです。 これが、そのノードの子と見なされます。
もうひとつの方法は、設定ファイルの記述量を減らすことはありません。 ただ、同じタグ名を何度も書く必要がなくなるので保守性は上がります。 単純に空のタグを作成し、その値を value 属性に含めます。
|