PHP框架Yaf介绍

Yaf是Yet another Framework的意思,知名博客风雪之隅的作品。通过PHP扩展机制,实现了URL路由、业务逻辑与视图分离等功能。预计下一版加入ORM。

性能也是非常的不错,作者做了一个测试。倒不是跟其他的PHP框架对比,而是跟原生PHP的面向对象编程对比,我们看看对比的文件。

原生PHP的代码:

php代码
  1. class IndexController { 
  2.     public function actionIndex() { 
  3.         echo "Laruence"
  4.     }    
  5.  
  6. $controller = new IndexController(); 
  7. $controller->actionIndex(); 

Yaf入口文件和控制器文件的代码

php代码
  1. $conf = array
  2.     "application.directory" => "/home/laruence/local/www/htdocs/ap"
  3. ); 
  4.  
  5. $app = new Yaf_Application($conf); 
  6. $app->run(); 
php代码
  1. class IndexController extends Yaf_Controller { 
  2.     public function actionIndex() { 
  3.         $this->disableView(); //关闭视图输出 
  4.         echo "Laruence"
  5.     } 

先粗略的对比一下,这里多了一个URL解析的开销和一次文件包含的I/O开销。因为原生PHP可以直接请求该文件然后执行代码,而Yaf框架需要根据URL确定需要加载的控制器文件,并包含该文件,然后才是执行index操作。

性能对比,100并发请求1000次

原生PHP
  1. Requests per second:    3478.82 [#/sec] (mean) 
  2. Time per request:       0.287 [ms] (mean, across all concurrent requests) 
Yaf框架
  1. Requests per second:    3165.24 [#/sec] (mean) 
  2. 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
上一篇: YII的layout居然无法共享controller通过push方式设置的变量
下一篇: seo杂谈:google比百度更喜欢中文URL

相关日志推荐
zz How to implement COMET with PHP
AJAX与PHP传递中文数据
[转载]NuSOAP乱码问题的解决方法
编程中的一些细节问题
PHP中Unicode编码问题的解决方法

1 条留言

  1. 感恩  | 2011-10-10 11:09:15

    鸟哥的框架,baidu好多项目都在用

发表评论

  
  
   (点击图片更换验证码)
点击刷新验证码