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 для
доступа к конфигурационным данным, переданным его конструктору,
используется синтаксис вложенных свойств объектов.