Zend\Config\Reader\Ini セクションの継承について
Zend1 では Zend_Config_Ini クラスでセクションの継承が出来て便利だった。
セクションの継承とはこういうやつ。
[production] database.table = "hoge" database.host = "xxx.xxx.xxx" [production:develop] database.host = "localhost"
<?php $ini = new Zend_Config_Ini('/path/to/inifile', 'develop'); echo $ini->database->table // prints hoge echo $ini->database->host // prints localhost
ところが Zend2 になってセクションの継承がサポートされなくなってしまった。
よってこのように使わなくてはならない。
; common.ini database.table = "hoge"
; production.ini database.host = "xxx.xxx.xxx" @include = "common.ini"
; develop.ini database.host = "localhost" @include = "common.ini"
<?php $ini = new \Zend\Cofnfig\Reader\Ini(); $ini->fromFile('/path/to/develop.ini'); echo $ini['database']['table']; // prints hoge echo $ini['database']['host']; // prints localhost
微妙だ。管理するファイルが増えるのもなんかなぁ。
最近はインクルードするのがモダンなんだろうか。