## 2.1. Yaf的安装
Yaf只支持PHP5.2及以上的版本
Yaf需要SPL的支持. SPL在PHP5中是默认启用的扩展模块
Yaf需要PCRE的支持. PCRE在PHP5中是默认启用的扩展模块
### 在 Windows 系统下安装
PHP 5.2+
1. 打开yaf在php官网上的目录:http://pecl.php.net/package/yaf
2. 目前yaf的最新版为3.0.0,仅支付php7,建议选择2.3.5版本
3. 我这里选择2.3.5后面的win图标+DLL字样的链接,进入页面下载php_yaf.dll
4. 在打开的页面根据自己的环境来选择对应的版本,我这里选择的是php5.6 Thread Safe (TS) x86(php5.6版本 安全线程 32位操作系统)
![](https://box.kancloud.cn/2015-11-25_56555e23c65d1.png)
5. 点击后自动下载了一个压缩包:php_yaf-2.3.5-5.6-ts-vc11-x86.zip
6. 把压缩包中的php_yaf.dll复制出来,打到你的php目录,打开目录下的ext文件夹,粘贴进去
7. 再打开您的PHP配置文件php.ini,加入 'extension=php_yaf.dll',重启web服务器,就OK了
![](https://box.kancloud.cn/2015-11-25_56555e2960975.png)
### 在 Linux 系统下安装
下载Yaf的最新版本, 解压缩以后, 进入Yaf的源码目录, 依次执行(其中PHP_BIN是PHP的bin目录):
> $PHP_BIN/phpize
./configure --with-php-config=$PHP_BIN/php-config
make
make install
然后在php.ini中载入yaf.so, 重启PHP.
Yaf_Request_Abstract的getPost, getQuery等方法, 并没有对应的setter方法. 并且这些方法是直接从PHP内部的$_POST, $_GET等大变量的原身变量只读的查询值, 所以就有一个问题:通过在PHP脚本中对这些变量的修改, 并不能反映到getPost/getQuery等方法上.