An ini parser for inherited values through multiple configuration files
- Let's code
1.1 Json Values
1.2 Deep selectors
1.3 File inheritance
1.4 Appending
1.5 Reducing - How to Install
- How to Contribute
- Author & Community
; 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' ] ] ]
If you don't have composer, you have to install it.
Add or complete the composer.json file at the root of your project, like this :
{
"require": {
"pixel418/iniliq": "0.3.2"
}
}
Iniliq can now be downloaded via composer.
Lastly, to use it in your PHP, you can load the composer autoloader :
require_once( './vendor/autoload.php' );
- Fork the Iniliq repository
- Create a new branch for each feature or improvement
- Send a pull request from each feature branch to the develop branch
If you don't know much about pull request, you can read the Github article.
All pull requests must follow the PSR1 standard and be accompanied by passing phpunit tests.
Iniliq is under the MIT License.
It is created and maintained by Thomas ZILLIOX.