Введение
Еще один контейнер конфигураций (Yet Another Configurations Container,
Yaconf) - контейнер конфигураций,
который разбирает INI-файлы и сохраняет результат в
PHP при его запуске, результат хранится на протяжении всего жизненного цикла PHP.
Yaconf сохраняет все конфигурации в качестве интернированной строки или неизменяемого массив, что означает, что они не могут быть подсчитаны по ссылке, таким образом, при извлечении конфигураций из yaconf, его можно рассматривать как zero-copy очень быстро.
Yaconf поддерживает разделы и наследование разделов в INI-файлах. Если PHP собран без поддержки ZTS, Yaconf также поддерживает автоматическую перезагрузку после изменений INI-файлов.
Yaconf требует PHP 7.0 или выше.
Пример #1 Пример INI
;простая пара ключ-значение
key=val
;хеш
hash.a=val
;массив
arr.0=val
;или так
arr[]=val
;использование констант PHP
version=PHP_VERION
;использование переменных среды
env=${PATH}
Пример #2 Пример INI с разделами
[SectionA] key=val hash.a=val ;SectionB наследуется от SectionA [SectionB:SectionA] ;переопределение key из раздела SectionA key=new_val