Yet Another Configurations Container
(Yaconf) は、設定コンテナです。
これは INI ファイルをパースし、
PHP の実行が始まるタイミングで結果を格納します。
この結果は、PHP のライフサイクル全体で利用できます。
Yaconf は、全ての設定をインターン化された文字列か、 変更不能な配列として格納します。 つまり、これらの設定はリファレンスカウントの対象にならないため、 Yaconf から設定を取得する際にコピーが発生せず、とても高速です。
Yaconf は、INI ファイル内でセクションやセクションの継承をサポートしています。
PHP が non-ZTS としてビルドされている場合、
Yaconf は INI ファイルが変更された後に、自動的に設定をリロードする機能をサポートしています。
Yaconf を動かすには、PHP 7.0 以降が必要です。
例1 INI ファイルの例
;Simple key val
key=val
;Hash
hash.a=val
;Array
arr.0=val
;or
arr[]=val
;PHP constants
version=PHP_VERSION
;Environment variable
env=${PATH}
例2 INI セクションの例
[SectionA] key=val hash.a=val ;SectionB inherits SectionA [SectionB:SectionA] key=new_val ;override configuration key in SectionA