Zend_Config_Ini
Zend_Config_Ini дает разработчикам возможность хранить
конфигурационные данные в знакомом большинству формате INI и считывать
их в приложении с использованием синтаксиса вложенных свойств объекта.
Формат INI специализируется на обеспечении иерархии конфигурационных
данных и наследования между разделами конфигурационных данных.
Иерархии конфигурационных данных поддерживаются посредством
разделения ключей точкой (.). Раздел можно расширять
или наследовать от другого раздела посредством указания имени раздела
с двоеточием (:) и именем раздела, от которого
наследуются данные, после него.
Синтаксический разбор INI-файла
Zend_Config_Ini использует функцию PHP
parse_ini_file().
Пожалуйста, почитайте документацию, чтобы получить представление об
особенностях ее поведения, которые распространяются и на
Zend_Config_Ini — например, о том, как обрабатываются
специальные значения TRUE, FALSE, yes,
no и NULL.
Разделитель ключей
По умолчанию разделителем ключей является символ точки
(.). Он может быть заменен на любой другой путем
изменения ключа 'nestSeparator' в массиве
$options при создании объекта Zend_Config_Ini.
Например:
Использование Zend_Config_Ini
Данный пример демонстрирует использование Zend_Config_Ini
для загрузки конфигурационных данных из файла INI. В этом примере
используются конфигурационные данные для производственной и
промежуточной систем. Поскольку конфигурационные данные для
промежуточной и производственной систем в основном одни и те же,
то "промежуточный" (staging) раздел наследует от
"производственного" (production) раздела. В данном случае выбор
произвольный, т.е. может быть и наоборот — "производственный"
раздел наследует от "промежуточного", хотя это может не подходить в
более сложных случаях. Допустим, конфигурационные данные
находятся в файле /path/to/config.ini:
Далее предположим, что разработчику приложения нужны "промежуточные"
конфигурационные данные из файла INI. Загрузить эти данные,
указав файл INI и нужный раздел, довольно просто:
database->params->host; // выведет "dev.example.com"
echo $config->database->params->dbname; // выведет "dbname"
]]>
Параметры конструктора Zend_Config_Ini
Параметр
Примечание
$filename
INI-файл для загрузки
$section
Раздел в INI-файле, который должен быть загружен.
Установка этого параметра в null вызовет загрузку всех
разделов. Также может быть передан массив имен разделов
для загрузки нескольких разделов.
$options = false
Массив опций. Поддерживаются следующие ключи:
allowModifications:
Устанавливается в true, чтобы разрешить
последующую модификацию загруженного файла.
По умолчанию установлен в false
nestSeparator:
Задает символ, используемый в качестве
разделителя узлов. По умолчанию это "."