Yaf的优点
- 用C语言开发的PHP框架, 相比原生的PHP, 几乎不会带来额外的性能开销.
- 所有的框架类, 不需要编译, 在PHP启动的时候加载, 并常驻内存.
- 更短的内存周转周期, 提高内存利用率, 降低内存占用率.
- 灵巧的自动加载. 支持全局和局部两种加载规则, 方便类库共享.
- 高性能的视图引擎.
- 高度灵活可扩展的框架, 支持自定义视图引擎, 支持插件, 支持自定义路由等等.
- 内建多种路由, 可以兼容目前常见的各种路由协议.
- 强大而又高度灵活的配置文件支持. 并支持缓存配置文件, 避免复杂的配置结构带来的性能损失.
- 在框架本身,对危险的操作习惯做了禁止.
- 更快的执行速度, 更少的内存占用.
流程图
Yaf提供了完善的API, 并支持Bootstrap和插件机制. 整体流程图如下:
安装条件
- Yaf只支持PHP5.2及以上的版本. 并支持最新的PHP5.3.3
- Yaf需要SPL的支持. SPL在PHP5中是默认启用的扩展模块
- Yaf需要PCRE的支持. PCRE在PHP5中是默认启用的扩展模块
https://github.com/laruence/yaf
安装
依赖库
install gcc gcc-c++ make automake autoconf
下载
https://github.com/laruence/yaf
安装
phpize
./configure
make
make install
参考:
自己的开发机
/appServer/php5.6/bin/phpize
./configure --with-php-config=/appServer/php5.6/bin/php-config
配置
[yaf]
extension=yaf.so
重启服务
/etc/init.d/php-fpm restart
查看
[root@bogon html]# php -m | grep yaf
yaf
或者
phpinfo(); // 函数查看
代码生成工具 cg
cd ~/php-yaf-master/tools/cg
php yaf_cg newapp #newapp 是生成的目录名
注意
: PHP 5.4.X-5.6.X 应该安装 yaf version 2.3.4
https://segmentfault.com/a/1190000000655886
nginx配置
根据自己需求进行调整
server {
listen 80;
server_name yaf.test.com;
root html/yaf.test.com;
index index.html index.htm index.php;
if (!-e $request_filename) {
rewrite ^/(.*) /index.php?$1 last;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}