CascadiaPHP 2024

Введение

Ещё один контейнер конфигураций (Yet Another Configurations Container, Yaconf) — контейнер конфигураций, который разбирает INI-файлы и сохраняет результат в PHP при запуске, результат хранится на протяжении всего жизненного цикла PHP.

Контейнер Yaconf сохраняет каждую конфигурацию как встроенную строку или неизменяемый массив, что означает, что на них нельзя посчитать refcount-ссылки, поэтому извлечении конфигурации из модуля 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_VERSION
;использование переменных среды
env=${PATH}

Пример #2 Пример INI-файла с разделами

[SectionA]
key=val
hash.a=val

;SectionB наследуется от SectionA
[SectionB:SectionA]
;переопределение key из раздела SectionA
key=new_val
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top