wdalmut / simplini
一个简单的INI读取器。此项目深受 Zend_Config_Ini
的启发
0.0.2
2014-03-24 20:56 UTC
This package is not auto-updated.
Last update: 2024-09-14 14:06:03 UTC
README
一个简单的INI读取器。此项目深受 Zend_Config_Ini
的启发
单元测试状态
部分
Simplini 允许多个部分,并且部分(多个部分)可以覆盖。
[prod] a="ciao" b=hello [dev : prod] a="ecco"
强制开发者模式
<?php $conf = new Config(); $conf->load(__DIR__ . '/my.ini', 'dev'); echo $conf->prod()->a; // will echo "ecco"
数组
数组支持
a[] = one a[] = two a[] = three
<?php $conf = new Config(); $conf->load(__DIR__ . '/my.ini'); var_dump(conf->a); // array(one,two,three)
嵌套对象
嵌套对象
[production] a.b.c = "Hello"
<?php $conf = new Config(); $conf->load(__DIR__ . '/my.ini'); echo conf->production()->a->b-c; // will echo "hello"
多个部分
[mysql] db.host = "localhost" db.user = "user" db.password = "password" [redis] nosql.a.host = "localhost" nosql.b.host = "192.168.2.2"
<?php $conf = new Config(); $conf->load(__DIR__ . '/my.ini'); echo $conf->mysql()->db->host; // localhost echo $conf->redis()->nosql->b->host; // 192.168.2.2
覆盖策略
您有三种类型的覆盖。
[prod] a = hello [dev : prod] a = ciao [mysql] host = localhost [dm : mysql] host = 192.168.2.2 [redis] host = localhost [rd : redis] host = 192.168.3.3
全部覆盖
<?php $conf = new Config(); $conf->load(__DIR__ . '/a.ini', true); echo $conf->prod()->a; // echo ciao echo $conf->mysql()->host; // echo 192.168.2.2 echo $conf->redis()->host; // echo 192.168.3.3
仅覆盖一个部分
<?php $conf = new Config(); $conf->load(__DIR__ . '/a.ini', 'dev'); echo $conf->prod()->a; // echo ciao echo $conf->mysql()->host; // echo localhost echo $conf->redis()->host; // echo localhost
覆盖一组部分
<?php $conf = new Config(); $conf->load(__DIR__ . '/a.ini', array('dev', 'dm')); echo $conf->prod()->a; // echo ciao echo $conf->mysql()->host; // echo 192.168.2.2 echo $conf->redis()->host; // echo localhost