PHP框架Yaf介绍
Yaf是Yet another Framework的意思,知名博客风雪之隅的作品。通过PHP扩展机制,实现了URL路由、业务逻辑与视图分离等功能。预计下一版加入ORM。
性能也是非常的不错,作者做了一个测试。倒不是跟其他的PHP框架对比,而是跟原生PHP的面向对象编程对比,我们看看对比的文件。
原生PHP的代码:
php代码
- class IndexController {
- public function actionIndex() {
- echo "Laruence";
- }
- }
- $controller = new IndexController();
- $controller->actionIndex();
Yaf入口文件和控制器文件的代码
php代码
- $conf = array(
- "application.directory" => "/home/laruence/local/www/htdocs/ap",
- );
- $app = new Yaf_Application($conf);
- $app->run();
php代码
- class IndexController extends Yaf_Controller {
- public function actionIndex() {
- $this->disableView(); //关闭视图输出
- echo "Laruence";
- }
- }
先粗略的对比一下,这里多了一个URL解析的开销和一次文件包含的I/O开销。因为原生PHP可以直接请求该文件然后执行代码,而Yaf框架需要根据URL确定需要加载的控制器文件,并包含该文件,然后才是执行index操作。
性能对比,100并发请求1000次
原生PHP
- Requests per second: 3478.82 [#/sec] (mean)
- Time per request: 0.287 [ms] (mean, across all concurrent requests)
Yaf框架
- Requests per second: 3165.24 [#/sec] (mean)
- Time per request: 0.316 [ms] (mean, across all concurrent requests)
可以看出,性能还是很出色的。
由于使用的PHP扩展机制实现的,所以开发语言是C,只不过这些类都映射到PHP里面了,有对应的类。下载了源码,准备结合收藏好好读一读。一方面学习一下PHP扩展相关内容,另一方面掌握Yaf的开发。希望能掌握一定知识,然后一起参与一下。当然,自己没有掌握透彻,也不好意思跟人家开口,哈哈。
有兴趣的朋友可以关注一下。
手册地址:http://yaf.laruence.com/manual
源代码地址:http://code.google.com/p/yafphp/
Tags: php
相关日志推荐
感恩 | 2011-10-10 11:09:15
鸟哥的框架,baidu好多项目都在用