Zend Config Ini - Не удается разобрать массив - PullRequest
4 голосов
/ 15 ноября 2011

Я не могу получить значение массива в INI-файле.

Вот INI-файл:

module.name = Core
module.version = 1
module.package = 'Core Modules'

module.dependency[] = Dep1
module.dependency[] = Dep2
module.dependency[] = Dep3

Вот код, который я использую для его анализа:

$ini = new Zend_Config_Ini('/path/to/module.ini');

Следующее работает нормально:

echo $ini->module->name;

Это, однако, вызывает ошибку ('Вызов функции-члена toArray () для необъекта'):

$ini->module->dependency->toArray();

Кроме того, это возвращает нуль:

var_dump($ini->module->dependency);

Если я изменю INI-файл на:

module.name = Core
module.version = 1
module.package = 'Core Modules'

dependency[] = Dep1
dependency[] = Dep2
dependency[] = Dep3

, я могу получить доступ к массиву, используя:

$ini->dependency->toArray();

Я хочу «модуль».префикс, однако, потому что другие файлы конфигурации будут в файле.

Любая помощь очень ценится!

1 Ответ

5 голосов
/ 07 декабря 2011

Вы должны указать раздел в верхней части конфигурации.Примерно так:

[production]
module.dependency[] = Dep1
module.dependency[] = Dep2
module.dependency[] = Dep3

Теперь все будет хорошо:

$ini = new Zend_Config_Ini('/path/to/module.ini', 'production');
$ini->module->dependency->toArray();
...