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