Zend_Config_XmlZend_Config_Xml дает разработчикам возможность хранить конфигурационные данные в простом формате XML и читать их посредством синтаксиса вложенных свойств объектов. Корневой элемент в файле или строке с XML не имеет значения и ему может быть дано любое имя. Первый уровень элементов XML соответствует разделам конфигурационных данных. Формат XML поддерживает иерархическую организацию данных через вложенность элементов ниже элементов уровня разделов. Содержимое конечного элемента соответствует значению элемента конфигурационных данных. Наследование разделов поддерживается через специальный атрибут extends, значение атрибута соответствует разделу, данные которого наследуются в раздел с этим атрибутом.
Example #1 Использование Zend_Config_Xml Данный пример демонстрирует основы использования Zend_Config_Xml для загрузки конфигурационных данных из файла XML. В этом примере используются конфигурационные данные для производственной и промежуточной систем. Поскольку конфигурационные данные промежуточной системы очень похожи на конфигурационные данные для производственной системы, то "промежуточный" (staging) раздел наследует от "производственного" (production) раздела. В данном случае выбор произвольный, т.е. может быть и наоборот — "производственный" раздел наследует от "промежуточного", хотя это может не подходить в более сложных случаях. Допустим, конфигурационные данные находятся в файле /path/to/config.xml:
Далее предположим, что разработчику приложения нужны "промежуточные" конфигурационные данные из файла XML. Загрузить эти данные, указав файл XML и нужный раздел, довольно просто: Example #2 Использование тегов в Zend_Config_Xml Zend_Config_Xml также поддерживает два дополнительных способа определения узлов в конфигурации. В обоих способах используются атрибуты. Поскольку атрибуты extends и value являются зарезервированными ключевыми словами (value используется во втором способе с применением атрибутов), то они не должны использоваться здесь. Первый способ с использованием атрибутов состоит в добавлении атрибутов в родительский узел, они потом будут преобразованы в потомки этого узла:
Другой способ не делает конфигурацию заметно короче, но облегчает ее поддержку благодаря тому, что не нужно писать имена тегов дважды. Вы просто создаете пустой тег, значение которого содержится в атрибуте value:
|