Глава 5. Zend_Config

Содержание

5.1. Введение
5.2. Основы работы
5.3. Zend_Config_Ini
5.4. Zend_Config_Xml

5.1. Введение

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