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:
Задает символ, используемый в качестве
разделителя узлов. По умолчанию это "."