windows下yaf的安装
yaf下载地址:http://code.google.com/p/yafphp/
找到自己PHP版本对应的yaf后下载,如:php_yaf-2.1.17-x86-5.2.17-nts-nodebug.dll5.2.17就是php版本
将dll文件放到php的ext目录下
配置php.ini
增加行:extension=php_yaf-2.1.17-x86-5.3.4-zts-nodebug.dll
重启之后,你就可以看到phpinfo()中就输出了yaf项
再创建如下这些文件即可出现"hello
1.
\<\?php
define("APP_PATH",
$app
$app->run();
2.
Options
\<\IfModule
#.htaccess,
RewriteEngine
RewriteCond
RewriteRule
\<\/IfModule>
3.
4.
[product]
;支持直接写PHP中的已定义常量
application.directory=APP_PATH
5.
6.
7.
8.
9.
10.
11.
12.
\<\?php
class
public
}
}
13.
14.
hello
Linux下的安装
最新版YAF下载地址:
2.https://github.com/laruence/php-yaf
编译Yaf:
$PHP_BIN/phpize ./configure --with-php-config=$PHP_BIN/php-config make make install
然后在php.ini中载入yaf.so, 重启PHP.
安装成功后,可以通过phpinfo查看YAF模块:
关于YAF
关于:
Yaf是一个C语言编写的PHP框架(作者:Laruence
Yaf is a PHP framework similar to zend framework, which is written in c and built as PHP extension.
Yaf是一个用PHP扩展形式提供的PHP开发框架, 相比于一般的PHP框架, 它更快. 它提供了Bootstrap, 路由, 分发, 视图, 插件, 是个一个全功能的PHP框架.
you can refer to
特点:
在和其他用PHP写的PHP框架来比的话, Yaf就是剑的第二层境界. 框架不在你手中, 而在PHP的”心”中.
目前PHP的框架层出不穷, 其中不乏很多优秀的框架, 比如Zend官方支持的Zend Framework, Yii, ci等等. 但在这繁多的框架也就造成了公司内多种框架的业务产品. 这些框架之间的不同, 也就导致了多种版本的类库, 框架, 约定, 规范,,,,
那么, 为什么现在开源社区没有一个成熟的用PHP扩展开发的框架呢?
用PHP扩展写PHP框架的难点
- 难于开发. 要完成一个PHP扩展的PHP框架, 需要作者有C背景, 有PHP扩展开发背景, 更要有PHP框架的设计经验.
- 目标用户群小. 现在国内很多中小型站都是使用虚拟主机, 并不能随意的给PHP添加扩展, 所以这些大部分的中小型企业, 个人博客的用户就无法使用.
- 维护成本高. 要维护PHP扩展, 不仅仅需要精通于C的开发和调试, 更要精通于Zend API, 并且升级维护的周期也会很长.
那既然这样, 为什么还要用PHP扩展来开发框架呢, 或者说, 这可行么?
用PHP扩展写PHP框架的可行性
- 扩展逻辑相对比较稳定, 一般不易变化. 把它们抽象出来, 用扩展实现, 不会带来额外的维护负担.
- 框架逻辑复杂, 自检耗时耗内存都比较可观, 而如果用扩展来实现, 就能大幅减少这部分对资源的消耗.
优点:
- 用C语言开发的PHP框架, 相比原生的PHP, 几乎不会带来额外的性能开销.
- 所有的框架类, 不需要编译, 在PHP启动的时候加载, 并常驻内存.
- 更短的内存周转周期, 提高内存利用率, 降低内存占用率.
- 灵巧的自动加载. 支持全局和局部两种加载规则, 方便类库共享.
- 高性能的视图引擎.
- 高度灵活可扩展的框架, 支持自定义视图引擎, 支持插件, 支持自定义路由等等.
- 内建多种路由, 可以兼容目前常见的各种路由协议.
- 强大而又高度灵活的配置文件支持. 并支持缓存配置文件, 避免复杂的配置结构带来的性能损失.
- 在框架本身,对危险的操作习惯做了禁止.
- 更快的执行速度, 更少的内存占用.
安装及使用教程:https://github.com/laruence/php-yaf#yaf—yet-another-framework
关于更多的Yaf框架资料:
Yaf(Yet Another Framework)用户手册:http://yaf.laruence.com/manual/index.html
PHP官方下载:http://pecl.php.net/package/yaf