Yaf的優(yōu)點(diǎn)
- 用C語言開發(fā)的PHP框架, 相比原生的PHP, 幾乎不會帶來額外的性能開銷.
- 所有的框架類, 不需要編譯, 在PHP啟動的時候加載, 并常駐內(nèi)存.
- 更短的內(nèi)存周轉(zhuǎn)周期, 提高內(nèi)存利用率, 降低內(nèi)存占用率.
- 靈巧的自動加載. 支持全局和局部兩種加載規(guī)則, 方便類庫共享.
- 高性能的視圖引擎.
- 高度靈活可擴(kuò)展的框架, 支持自定義視圖引擎, 支持插件, 支持自定義路由等等.
- 內(nèi)建多種路由, 可以兼容目前常見的各種路由協(xié)議.
- 強(qiáng)大而又高度靈活的配置文件支持. 并支持緩存配置文件, 避免復(fù)雜的配置結(jié)構(gòu)帶來的性能損失.
- 在框架本身,對危險(xiǎn)的操作習(xí)慣做了禁止.
- 更快的執(zhí)行速度, 更少的內(nèi)存占用.
流程圖
Yaf提供了完善的API, 并支持Bootstrap和插件機(jī)制. 整體流程圖如下:
image.png
安裝條件
- Yaf只支持PHP5.2及以上的版本. 并支持最新的PHP5.3.3
- Yaf需要SPL的支持. SPL在PHP5中是默認(rèn)啟用的擴(kuò)展模塊
- Yaf需要PCRE的支持. PCRE在PHP5中是默認(rèn)啟用的擴(kuò)展模塊
https://github.com/laruence/yaf
安裝
依賴庫
install gcc gcc-c++ make automake autoconf
下載
https://github.com/laruence/yaf
安裝
phpize
./configure
make
make install
參考:
自己的開發(fā)機(jī)
/appServer/php5.6/bin/phpize
./configure --with-php-config=/appServer/php5.6/bin/php-config
配置
[yaf]
extension=yaf.so
重啟服務(wù)
/etc/init.d/php-fpm restart
查看
[root@bogon html]# php -m | grep yaf
yaf
或者
phpinfo(); // 函數(shù)查看
代碼生成工具 cg
cd ~/php-yaf-master/tools/cg
php yaf_cg newapp #newapp 是生成的目錄名
注意
: PHP 5.4.X-5.6.X 應(yīng)該安裝 yaf version 2.3.4
https://segmentfault.com/a/1190000000655886
nginx配置
根據(jù)自己需求進(jìn)行調(diào)整
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;
}
}