Introduction

Yet Another Configurations Container (Yaconf) is a configurations container, it parses INI files, and store the result in PHP when PHP is started, the result lives with the whole PHP lifecycle.

Yaconf stores all configurations as interned string or immutable array, which means they are not refcounted-able, thus when you retrieving configurations from yaconf, it could be considered as zero-copy, very fast.

Yaconf supports sections and sections inheritance in INI files. if PHP is built as non-ZTS build, Yaconf also supports automatically reloading after INI files are changed.

Yaconf requires PHP 7.0 or greater.

Example #1 INI example

;simple key val key=val ;hash hash.a=val ;array arr.0=val ;or arr[]=val ;use PHP constants version=PHP_VERSION ;use environment env=${PATH}

Example #2 INI sections example

[SectionA] key=val hash.a=val ;SectionB inherits SectionA [SectionB:SectionA] ;override configuration key in SectionA key=new_val
To Top