一、Yaf框架简介
Yaf,全称 Yet Another Framework,是一个C语言编写的PHP框架,是一个以PHP扩展形式提供的PHP开发框架, 相比于一般的PHP框架,
它更快,更轻便。它提供了Bootstrap, 路由, 分发, 视图, 插件, 是一个全功能的PHP框架。
二、Yaf的特点
- 用C语言开发的PHP框架, 相比原生的PHP, 几乎不会带来额外的性能开销.
- 所有的框架类, 不需要编译, 在PHP启动的时候加载, 并常驻内存.
- 更短的内存周转周期, 提高内存利用率, 降低内存占用率.
- 灵巧的自动加载. 支持全局和局部两种加载规则, 方便类库共享.
- 高性能的视图引擎.
- 高度灵活可扩展的框架, 支持自定义视图引擎, 支持插件, 支持自定义路由等等.
- 内建多种路由, 可以兼容目前常见的各种路由协议.
- 强大而又高度灵活的配置文件支持. 并支持缓存配置文件, 避免复杂的配置结构带来的性能损失.
- 在框架本身,对危险的操作习惯做了禁止.
- 更快的执行速度, 更少的内存占用.
Yaf提供了完善的API, 并支持Bootstrap和插件机制.
整体流程图如下:

Linux 下安装
Yaf的安装和配置官方手册:
Yaf的安装前的一些准备:
Yaf只支持PHP5.2及以上的版本. 并支持最新的PHP5.3.3 [经过测试,其实最新的PHP5.5也是可以正常运行,本安装教程就是基于centos6.3 x64 & PHP 5.5 最新版演示]
Yaf需要SPL的支持. SPL在PHP5中是默认启用的扩展模块
Yaf需要PCRE的支持. PCRE在PHP5中是默认启用的扩展模块
好了,感觉太罗里吧嗦,上面的要求你都达到了,那么就接着做这几个步骤:
1. 去Pecl下载 Yaf的发布包 [2.2.9],并且解压,并进去 yaf-2.2.9 源码目录
wget http: //pecl .php.net /get/yaf-2 .2.9.tgz && tar zxvf yaf-2.2.9.tgz && cd yaf-2.2.9 |
2.接着依次执行:
$PHP_BIN /phpize . /configure --with-php-config=$PHP_BIN /php-config make make install |
[解释一下:$PHP_BIN 就是你php的安装目录的bin目录路径,比如我的php安装路径是在:/usr/local/php/bin/ ,那么我的就是这样执行,我就一次性给写了,如下:]
/usr/local/php/bin/phpize && . /configure --with-php-config= /usr/local/php/bin/php-config && make && make install |
执行完你看到了这么一句,说明你第一步Yaf编译部分是ok了.
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/
那么我们可以看看这个目录下到底有些什么
ll /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/ |
可以看到 yaf.so php扩展也已经帮我们编译好了,所以接下来我们就开始要回到php去找php.ini的配置文件了.
vi /usr/local/php/etc/php .ini |
然后在php.ini中载入yaf.so
extension=yaf.so |
重启PHP.
/etc/init .d /php-fpm restart |
那么到底我们安装到底有没有成功呢?我们就测试一下.
vi /usr/local/nginx/html/index.php 写上一句 phpinfo();
,然后你运行之后,你发现如下图,那么恭喜你安装成功,就开始你的yaf之旅吧.
windows 下安装[win下目前已经编译的最高版本好像支持到php 5.4.x]
windows 下安装相对比linux简单多了. 但是也是要求php最低版本不能低于PHP 5.2
1.首先去下载windows下面的编译好的dll [yaf.dll]
如何选择那个版本的dll尼? 嘿嘿,这个时候,就要用到我们的 phpinof()看一下你的php版本是多少。我的是php 5.3.13 所以我选择是php_yaf-2.1.9-x86-5.3.13-zts-nodebug.dll ,那么有两个5.3.13版本的dll我们又该选择那个,还是得看phpinfo() 如果 Thread Safety enabled 项为 enabled 的话就选择 zts 版本,反之应该就是 nts 了.
2.然后就是找到F:/wamp/bin/php/php5.3.13/ext/ (根据你自己系统路径)目录下把刚才下载的 php_yaf-2.1.9-x86-5.3.13-zts-nodebug.dll复制重命名为 yaf.dll。然后打开php.ini 加上 extension=yaf.dll 重启一下服务.就可以了.[在这里啰嗦一下,关于Apache或者nginx是运行那个php.ini这里也是得根据phpinfo里的信息来确定,比如Wampserver,x64(在Apache/bin目录下)和x86的版本就是不一样]
yaf windows php 5.3.13
需要注意: 不管是在linux还是在win下,有时候步骤都对了,但是phpinfo还是没有出现的时候,你要检查一下你是用的是那个 php.ini 文件,你可以在页面搜索一下.然后顺便看看 extension_dir 指向的目录是那个.Loaded Configuration File 看看他指向的是那个php.ini 就修改那个php.ini如何开启 Yaf 的命名空间功能,文档里默认是关闭的
所以如果我们要用命名空间,那么就修改一下php.ini就可以
添加
yaf.use_namespace = 1
重启一下php 服务就可以了。
ok,至此,yaf安装完成,是不是很简单.
评论