pixel418 / iniliq
一个通过多个配置文件继承值的 ini 解析器
v0.3.2
2013-05-10 15:45 UTC
Requires
- php: >=5.3.0
- pixel418/ubiq: 0.4.*
README
一个通过多个配置文件继承值的 ini 解析器
让我们编写代码
JSON 值
; json-values.ini [Readme] example = { json: yeah, is-it: [ good, great, awesome ] }
$ini = ( new \Pixel418\Iniliq\IniParser )->parse( 'json-values.ini' ); // [ 'Readme' => [ 'example' => [ 'json' => 'yeah', 'is-it' => [ 'good', 'great', 'awesome' ] ] ] ]
深度选择器
; deep-selectors.ini [Readme] example.selectors.deep = nice
$ini = ( new \Pixel418\Iniliq\IniParser )->parse( 'deep-selectors.ini' ); // [ 'Readme' => [ 'example' => [ 'selectors' => [ 'deep' => 'nice' ] ] ] get_class( $ini ); // Pixel418\Iniliq\ArrayObject $ini[ 'Readme.example.selectors.deep' ] // nice $ini[ 'Readme.example.selectors.deep' ] = 'amusing' // [ 'Readme' => [ 'example' => [ 'selectors' => [ 'deep' => 'amusing' ] ] ]
文件继承
; base.ini [Readme] example[name] = John Doe example[id] = 3
; file-inheritance.ini [Readme] example.name = file-inheritance
$ini = ( new \Pixel418\Iniliq\IniParser )->parse( [ 'base.ini', 'file-inheritance.ini' ] ); // [ 'Readme' => [ 'example' => [ 'name' => 'file-inheritance', 'id' => '3' ] ] ]
追加
; list.ini [Readme] musketeers.name[ ] = Athos musketeers.name[ ] = Porthos musketeers.name[ ] = "D'Artagnan"
; adding-values.ini [Readme] musketeers.name += [ Aramis ]
$ini = ( new \Pixel418\Iniliq\IniParser )->parse( [ 'list.ini', 'adding-values.ini' ] ); // [ 'Readme' => [ 'musketeers' => [ 'Athos', 'Porthos', 'D\'Artagnan', 'Aramis' ] ] ]
减少
; list.ini [Readme] musketeers.name[ ] = Athos musketeers.name[ ] = Porthos musketeers.name[ ] = "D'Artagnan"
; removing-values.ini [Readme] musketeers.name -= "[ D'Artagnan ]"
$ini = ( new \Pixel418\Iniliq\IniParser )->parse( [ 'list.ini', 'removing-values.ini' ] ); // [ 'Readme' => [ 'musketeers' => [ 'Athos', 'Porthos' ] ] ]
如何安装
如果您没有 composer,您必须 安装它。
在项目的根目录中添加或完善 composer.json 文件,如下所示
{ "require": { "pixel418/iniliq": "0.3.2" } }
Iniliq 现在可以通过 composer 下载。
最后,要在 PHP 中使用它,您可以加载 composer 自动加载器
require_once( './vendor/autoload.php' );
如何贡献
- 从 Iniliq 仓库分叉
- 为每个功能或改进创建一个新的分支
- 从每个功能分支向 develop 分支发送拉取请求
如果您不太了解拉取请求,您可以阅读 GitHub 文章。
所有拉取请求都必须遵循 PSR1 标准,并附带通过 PHPUnit 测试。
作者 & 社区
Iniliq 采用 MIT 许可证。
它由 Thomas ZILLIOX 创建和维护。