Zend_Config_Xml
дает разработчикам возможность хранить
конфигурационные данные в простом формате XML и читать их посредством синтаксиса
вложенных свойств объектов. Корневой элемент файла XML не имеет значения
и ему может быть дано любое имя. Первый уровень элементов XML
соответствует разделам конфигурационных данных. Формат XML поддерживает
иерархическую организацию данных через вложенность элементов
ниже элементов уровня разделов. Содержимое конечного элемента соответствует
значению элемента конфигурационных данных. Наследование разделов
поддерживается через специальный атрибут extends
, значение
атрибута соответствует разделу, данные которого наследуются в
раздел с этим атрибутом.
Тип возвращаемых данных | |
---|---|
Конфигурационные данные, прочитанные в |
Пример 5.3. Использование Zend_Config_Xml
Данный пример демонстрирует основы использования Zend_Config_Xml
для загрузки конфигурационных данных из файла XML. В этом примере
используются конфигурационные данные для производственной и
промежуточной систем. Поскольку конфигурационные данные
промежуточной системы очень похожи на конфигурационные данные для
производственной системы, то "промежуточный" (staging) раздел наследует от
"производственного" (production) раздела. В данном случае выбор
произвольный, т.е. может быть и наоборот — "производственный"
раздел наследует от "промежуточного", но это может не подходить в
более сложных случаях. Допустим, конфигурационные данные
находятся в файле /path/to/config.xml
:
<?xml version="1.0"?> <configdata> <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> </configdata>
Далее предположим, что разработчику приложения нужны "промежуточные" конфигурационные данные из файла XML. Загрузить эти данные через указание файла XML и нужного раздела довольно просто:
<?php require_once 'Zend/Config/Xml.php'; $config = new Zend_Config_Xml('/path/to/config.xml', 'staging'); echo $config->database->host; // выведет "dev.example.com" echo $config->database->name; // выведет "dbname"