Yaconf – 一个高性能的配置管理扩展,Linux & Mac

致敬鸟哥

性能

  1. 很多项目, 用PHP文件做配置的, config目录下可能有十几个甚至数十个.php配置文件, 里面是各种各样的array, 还有甚者会把一些词典文件(比如中文/英文对照)也放到配置中去. 这就导致配置文件的解析耗费了很大的性能(诚然, 用了opcache能好点, 但是实际上还是有执行的过程).

  2. 除PHP的, 还有用json的, yaml的, 一个共同的特点就是这些配置的可读性比较差. 另外, 他们也都要runtime解析.

安装

# 下载
git clone https://github.com/laruence/yaconf.git

#安装
#查找phpize
locate
/www/server/php/72/bin/phpize

#使用phpize 生成:configure文件

#配制
./configure --with-php-config=/www/server/php/72/bin/php-config

#编译(必要时使用su命令)
make && make install

Installing shared extensions:     /www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718/
Installing header files:          /www/server/php/72/include/php/

#修改php.ini
vim /www/server/php/72/etc/php.ini
#添加
extension = /www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718/yaconf.so
yaconf.directory=/www/wwwroot/easyswoole.ipuxin.com/ini

使用

编写:/ini/redis.ini
host="127.0.0.1"
port=6379
time_out=3
$redisConfig = \Yaconf::get('redis');
$result = $this->redis->connect($redisConfig['host'],  $redisConfig['port'], $redisConfig['time_out']);

Mac 下安装

pecl install yaconf

Installing '/usr/local/Cellar/php@7.2/7.2.27/include/php/ext/yaconf/php_yaconf.h'
Installing '/usr/local/Cellar/php@7.2/7.2.27/pecl/20170718/yaconf.so'

后记

Pear和Pecl的区别

Pear是PHP的上层扩展,Pecl是PHP的底层扩展

Pear(PHP Extension and Application Repository)由PHP编写的扩展及应用,可include到项目中使用,和composer类似
Pecl(PHP Extension Community Library)由c++编写的PHP扩展库,后缀是.so(shared object),和dll类似

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值