Введение

Еще один контейнер конфигураций (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