3.4. Zend_Config_Xml

3.4.1. Введение

Zend_Config_Xml дает возможность разработчикам хранить конфигурационные данные в простом формате XML и читать их посредством свойств объекта через Zend_Config.

Пример 3.4. Конфигурационные данные в файлах XML

Этот пример иллюстрирует основы применения Zend_Config_Xml для загрузки данных из файла XML. Предположим, мы имеем следующие конфигурационные данные в /path/to/config.xml:

<?xml version="1.0"?>
<config>
    <production>
        <webhost>www.example.com</webhost>
        <database>
            <type>pdo_mysql</type>
            <host>db.example.com</host>
            <username>dbuser</username>
            <password>secret</password>
            <name>dbname</name>
        </database>
    </production>
    <staging extends="production">
        <database>
            <host>dev.example.com</host>
            <username>devuser</username>
            <password>devsecret</password>
        </database>
    </staging>
</config>    

В синтаксисе XML наследование поддерживается посредством использования аттрибута extends. Значением аттрибута extends должно быть имя раздела, из которого наследует данный раздел. Конфигурационные данные загружаются из файла XML:

<?php
require_once 'Zend/Config.php';
require_once 'Zend/Config/Xml.php';

$config = new Zend_Config(Zend_Config_Xml::load('/path/to/config.xml', 'staging'));

echo $config->database->host; // выводит: "dev.example.com"
?>           

[Замечание] Замечание
Конфигурационные данные из Zend_Config_Xml всегда интерпретируются как строки.