Yaconf是鸟哥写的一个php拓展.至于简洁的话我就直接摘抄鸟哥写的简介吧
首先说说, 这个是干啥的.
1. 我见过很多的项目中, 用PHP文件做配置的, 一个config目录下可能有十几个甚至数十个.php配置文件, 里面都是各种各样的array, 还有甚者会把一些词典文件(比如中文/英文对照)也放到配置中去. 这就导致配置文件的解析耗费了很大的性能(诚然, 用了opcache能好点, 但是实际上还是有执行的过程).
2. 除了PHP的, 还有用json的, yaml的, 一个共同的特点就是这些配置的可读性比较差. 另外, 他们也都要runtime解析.
3. config目录往往和代码在一起, 首先会有安全隐患(配置中往往有敏感信息), 其次如果配置和代码属于一个项目, 这就会导致配置的修改也要走代码上线的流程.
4. 一些资源配置文件, 比如mysql/memcache的配置信息, 这些内容本来是应该对开发透明的, 运维直接负责即可. 但是放到了代码中就会导致, 运维如果要发起一些变更, 也要开发配合修改配置文件上线.
所以, Yaconf就是为了解决这些问题而生的一个工具.
我觉得超级有道理的嘛.大佬的话我当然是觉得牛逼的不得了呀.所以还是使用上了.如果没兴趣的话可以不用往下看咯.
首先安装源码文件
git clone https://github.com/laruence/yaconf.git
下载好后就需要编译安装成php的.so文件拓展啦~
查找phpize,php-config.还是贴图吧.不想再巧一遍命令了
找到PHP配置文件后到源码目录下进行编译安装
./configure --with-php-conifg=你的php-config完整路径
make && make install
然后就安装好了.如果你没安装好自己百度去吧!
编辑php.ini
文件,添加
extension=yaconf
假设我们把所有的文件都放在/Users/qvbilam/Sites/ini/目录下.那就在php.ini
再追加
yaconf.directory=/Users/qvbilam/Sites/ini/
然后在配置的目录下.如果没有就创建.编写一个测试的配置文件test.ini
.注意了是.ini
不是.php
文件
编写test.ini
的内容
host='127.0.0.1'
port=123
a.b.c=1
a.b.e=2
然后我们在php文件中获取配置测试
public function yaconf()
{
$result = \Yaconf::get('test');
return $this->writeJson(0,'ok',$result);
}
结果
我可真棒.当然测试文件中的a.b.c是个二维数组的.只是简单的介绍了安装和获取.至于更多的用法建议看下面传送门的内容