Zend_Config
спроектирован для того, чтобы сделать более
простым доступ и использование конфигурационных данных внутри приложения.
Он предоставляет основанный на вложенных свойствах объектов пользовательский
интерфейс для доступа к конфигурационным данным внутри приложения.
Конфигурационные данные могут храниться на различных носителях информации,
поддерживающих иерархическое хранение данных. На данный момент
Zend_Config
предоставляет адаптеры для конфигурационных
данных, хранящихся в текстовых файлах:
Zend_Config_Ini
и Zend_Config_Xml
.
Пример 5.1. Использование Zend_Config без адаптеров
Обычно предполагается, что используется один из классов адаптеров
Zend_Config_Ini
или Zend_Config_Xml
.
Но если конфигурационные данные доступны в виде массива PHP,
то можно просто передавать эти данные конструктору Zend_Config
,
чтобы использовать преимущества простого объектно-ориентированного
интерфейса.
<?php // Массив конфигурационных данных $configArray = array( 'webhost' => 'www.example.com', 'database' => array( 'type' => 'pdo_mysql', 'host' => 'db.example.com', 'username' => 'dbuser', 'password' => 'secret', 'name' => 'dbname' ) ); // Создание объектно-ориентированной обертки для конфигурационных данных require_once 'Zend/Config.php'; $config = new Zend_Config($configArray); // Вывод элемента конфигурационных данных (результатом будет 'www.example.com') echo $config->webhost; // Использование конфигурационных данных для соединения с базой данных $myApplicationObject->databaseConnect($config->database->type, $config->database->host, $config->database->username, $config->database->password, $config->database->name);
Как показано в предыдущем примере, в Zend_Config
для
доступа к конфигурационным данным, переданным его конструктору,
используется синтаксис вложенных свойств объектов.