В принципе, мне бы хотелось, чтобы простой, простой и однофайловый способ синтаксического анализа INI файла с "расширенными" функциями, такими как наследование разделов и вложение свойств, например Zend_Config_Ini.
Например:
[foo]
a = 1
b.a = 2
b.b = 3
b.c = 4
c = 5
[bar : foo]
b.b = 17
c = 42
Разбор в
array(
'foo'=>array(
'a'=>'1',
'b'=>array(
'a'=>'2',
'b'=>'3',
'c'=>'4'
),
'c'=>'5'
),
'bar'=>array(
'a'=>'1',
'b'=>array(
'a'=>'2',
'b'=>'17',
'c'=>'4'
),
'c'=>'42'
)
)
PHP встроенный parse_ini_file
, не обрабатывает ничего, кроме простого INI, с простыми разделами и простыми ключами.
Моя проблема с использованием Zend_Config_Ini
заключается в том, что я должен был бы включить практически весь подпакет Zend_Config, и будет супер-раздутым и настраиваемым.
Есть ли небольшая и простая библиотека для анализа этого?
Если нет, есть ли простая реализация, которую я не вижу?
Маленьким и простым я имею в виду что-то вроде sfYaml файлов INI.
К моим (очень неопытным) глазам я должен был бы разобрать один раз с помощью parse_ini_file
, затем вернуться и разрешить наследование, затем пропустить каждую секцию и развернуть ключи рекурсивно...
ОБНОВЛЕНИЕ. Поскольку это, кажется, популярный вопрос, я хотел бы отметить, что У меня есть простой класс, реализующий это на GitHub, не стесняйтесь отправлять запросы на тягу, проблемы и т.д.