pixel418/iniliq

一个通过多个配置文件继承值的 ini 解析器

v0.3.2 2013-05-10 15:45 UTC

README

一个通过多个配置文件继承值的 ini 解析器

  1. 让我们编写代码
    1.1 JSON 值
    1.2 深度选择器
    1.3 文件继承
    1.4 追加
    1.5 减少
  2. 如何安装
  3. 如何贡献
  4. 作者 & 社区

让我们编写代码

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' );

↑ 顶部

如何贡献

  1. 从 Iniliq 仓库分叉
  2. 为每个功能或改进创建一个新的分支
  3. 从每个功能分支向 develop 分支发送拉取请求

如果您不太了解拉取请求,您可以阅读 GitHub 文章

所有拉取请求都必须遵循 PSR1 标准,并附带通过 PHPUnit 测试。

↑ 顶部

作者 & 社区

Iniliq 采用 MIT 许可证
它由 Thomas ZILLIOX 创建和维护。

↑ 顶部