什么是Yaconf?看过来:
安装:
- git clone https://github.com/laruence/yaconf.git
- cd yaconf
- phpize
- ./configure --with-php-config=/usr/local/php/bin/php-config
- make
- make install
复制代码
配置PHP.ini:
- vi /usr/local/php/etc/php.ini
- 加入:
- [Yaconf]
- extension=yaconf.so #扩展引用
- yaconf.directory=/home/web/conf #conf文件所在目录
- yaconf.check_delay=100 #心跳检查时间,若为0则不检查,但如果有修改,需重启PHP
复制代码
运行:
– PHP加载时,会先查找/home/web/conf内所有ini文件,并解析; – 解析的内容会常驻内存,在PHP代码中和调用php.ini的值一样的形式去调用;
设置ini文件
/home/web/conf/test.ini
- foo="bar"
- phpversion=PHP_VERSION
复制代码
方法,只有get和has两个方法:
- #读取值:
- echo Yaconf::get("test.foo"); //test是配置文件名字
- #判断是否有该项设置
- echo Yaconf::has("test.foo"); //test是配置文件名字
复制代码
特殊定义–数组:
定义:
读取:
- Yaconf::get("test.arr.1"); #读取指定项
- Yaconf::get("test.arr"); #读出数组
复制代码
特殊定义–map类型
定义:
;
- 可以使用分号来写注释
- map2.foo.name=yaconf
- map2.foo.year=2015
复制代码
读取:
- Yaconf::get("test.map2.foo.name");
复制代码
特殊定义–分组
定义:
- [parent]
- parent="base"
- children="NULL"
- [children:parent]
- children="children"
复制代码
读取:
- Yaconf::get("test"); #返回的是一个KV格式的数组,也可以用.号间隔访精确访问
复制代码