3.3. Zend_Config_Ini

3.3.1. Введение

Zend_Config_Ini дает разработчикам возможность хранить конфигурационные данные в известном большинству формате INI и читать их посредством свойств объекта через Zend_Config.

Пример 3.3. Конфигурационные данные в файле INI

Этот пример иллюстрирует основы использования Zend_Config_Ini для загрузки конфигурационных данных из файла INI. Предположим, мы имеем следующие конфигурационные данные в /path/to/config.ini:

; Конфигурационные данные производственного сайта
[production]
webhost           = www.example.com
database.type     = pdo_mysql
database.host     = db.example.com
database.username = dbuser
database.password = secret
database.name     = dbname

; Конфигурационные данные промежуточного сайта наследуются от
; производственного варианта и значения замещаются на нужные
[staging]
extends = production
database.host     = dev.example.com
database.username = devuser
database.password = devsecret
                

[Замечание] Замечание
Обратите внимание, что синтаксис файла INI походит на тот, что ожидается для функции PHP parse_ini_file(), ее использует класс Zend_Config_Ini. Пожалуйста, ознакомьтесь с этой документацией, чтобы знать специфику поведения Zend_Config_Ini -- как, например, транслируются специальные значения true, false, yes, no и null.

В синтаксисе INI наследование поддерживается посредством использования ключевого слова extends. Значением ключа extends должно быть имя раздела, из которого наследует данный раздел. Конфигурационные данные загружаются из файла INI:

<?php
require_once 'Zend/Config.php';
require_once 'Zend/Config/Ini.php';

$config = new Zend_Config(Zend_Config_Ini::load('/path/to/config.ini', 'staging'));

echo $config->database->host; // выводит: "dev.example.com"
?>