Zend_Config_Ini дает разработчикам возможность хранить
конфигурационные данные в знакомом большинству формате INI и читать
их в приложении с использованием синтаксиса вложенных свойств объекта.
Формат INI специализируется на обеспечении иерархии конфигурационных
данных и наследования между разделами конфигурационных данных.
Иерархии конфигурационных данных поддерживаются посредством
разделения ключей точкой (.). Раздел можно расширять
или наследовать от другого раздела посредством указания имени раздела
с двоеточием (:) и именем раздела, от которого
наследуются данные, после него.
![]() |
parse_ini_file |
|---|---|
|
![]() |
Разделитель ключей |
|---|---|
|
По умолчанию разделителем ключей является символ точки
(
$options['nestSeparator'] = ':';
$config = new Zend_Config_Ini('/path/to/config.ini',
'staging',
$options);
|
Пример 7.3. Использование Zend_Config_Ini
Данный пример демонстрирует основы использования Zend_Config_Ini
для загрузки конфигурационных данных из файла INI. В этом примере
используются конфигурационные данные для производственной и
промежуточной систем. Поскольку конфигурационные данные
промежуточной системы очень похожи на конфигурационные данные для
производственной системы, то "промежуточный" (staging) раздел наследует от
"производственного" (production) раздела. В данном случае выбор
произвольный, т.е. может быть и наоборот — "производственный"
раздел наследует от "промежуточного", хотя это может не подходить в
более сложных случаях. Допустим, конфигурационные данные
находятся в файле /path/to/config.ini:
; Конфигурационные данные производственного сайта [production] webhost = www.example.com database.adapter = pdo_mysql database.params.host = db.example.com database.params.username = dbuser database.params.password = secret database.params.dbname = dbname ; Конфигурационные данные промежуточного сайта наследуются от конфигурационных ; данных производственного и подменяют их при необходимости. [staging : production] database.params.host = dev.example.com database.params.username = devuser database.params.password = devsecret
Далее предположим, что разработчику приложения нужны "промежуточные" конфигурационные данные из файла INI. Загрузить эти данные, указав файл INI и нужный раздел, довольно просто:
$config = new Zend_Config_Ini('/path/to/config.ini', 'staging');
echo $config->database->params->host; // выведет "dev.example.com"
echo $config->database->params->dbname; // выведет "dbname"



![[Замечание]](images/note.png)