作者 : Bun Wong
日期 : 2009年09月01日
标签 : PHP BPF
浏览 : 1143 次
评论 : 10 个
http://www.hdwong.com/article/php-mvc-and-bpf.html

PHP MVC & BPF

技术交流 @ 2009年09月01日 收藏&分享

好久没有写技术文章,上段时间的工作比较忙,公司的需求分析快出来了,Brian 的合作项目 Deadline 一日一日逼近,压力啊压力啊...

又听到 PHPChina 的人在吵架了,CodeIgniter / Kohana, Yii, QeePHP / FleaPHP,到底谁是牛谁是猪,有必要争出个结果么,你自己想用啥就用啥,这才是 Open Source 的真谛啊,难怪 NINNY 姐这么无视那群家伙...

个人就 PHP MVC 框架而言,觉得兼容/功能跟性能总是成很大的反比。官方的 Zend Framework 吧,功能没得说,想到的基本都做到了,使用了很多 PHP5 的特性,但是也由于太多的继承与实现,库文件很多,磁盘载入和内存消耗也大,在普通服务器上表现并不佳;年初发现的 CI,当时说是最快的 MVC 框架,学习起来也很轻松,事实也是如此,经测试 CI Controller 运行 phpinfo() 大概是纯 PHP 性能的 1/8 (已经比 ZF 快不少),但功能就比较单一;前段时间又发现 Yii 和 QeePHP,Yii 不说了——鸡肋,QeePHP 有两个亮点:1. 国人开发 2. 据说是最快的 =.=,老实说 QeePHP 我没搞懂,第一次安装没成功,后来用它自带脚本算是配置好了,测试了一下是比 CI 略快,很少……但,好难学,又放弃了。

我并不是要说明哪个好哪个不好,开发框架本来就为其开发者所偏爱的方向,Zend Framework 是面向企业的,所以快慢不是关键因素;QeePHP 是 FleaPHP 过来的,人家 FleaPHPer 学起来就轻松了。

因此为了我自己偏爱的方向,八月份我也放弃了 CI,自己开发了一套 MVC 框架 (又重复造轮了 =.=),取名BPF (Bun PHP Framework)。为了减少学习难度,吸取了很多 CI 的优点,比如 Active Record 类,Action 的参数传递方式,也能见打到一些 Drupal 的影子,比如 Breadcrumb,Theme,global $user等。性能方面,开启 SESSION 和数据库连接后执行 phpinfo() 效率大概为纯 PHP 的 1/3,代价是削减了很多兼容性检测 (比如仅为 apache mod_rewrite 的路径检测),把核心模块耦合,减少了路由转发规则等,但是在我的大部分应用中,已经足够了。

评论 (10)

  • #1. tim

    2009年09月01日

    还是开发自己的框架就好了.

  • #2. 小黑米

    2009年09月01日

    恩... 可以去看看qeephp实现的orm,这个才是亮点,还有很多有名的框架都有orm的影子,python的django。

    另外qeephp的模板层也有django的影子,框架还要有灵活的plugin机制

    当然如果是自家用的话...就简单的MVC就OK了~ 偶看了下你的的图,有权限这一块,感觉没有分好层,这些逻辑层或许抽象出来或做成plugin 来让用户实现呢?

  • #3. Bun Wong

    2009年09月02日

    恩,QeePHP 的 ORM 也是比较好玩的东西,但是对于一般的 CMS 建站来说,个人觉得用处不大。
    恩,我那个破框架的权限检查是类似 Drupal 那样的基于 Role 的判断,后台来管理的,因此也没有考虑让用户来实现了,好小黑哥哥的指点,我慢慢改进...

  • #4. haturn

    2009年09月05日

    都是前辈啊,小弟学习到了。。。

  • #5. snow

    2009年09月16日

    php的ORM和django的比较没什么意义吧
    java,python,ruby的框架有orm还是和他们框架自身的生命期和语言特点有点关系吧
    如果php也去跟风,只能是做它并不适合的事,肯定是做不到最好的

  • #6. Qing

    2009年09月18日

    我最近也在搞个框架,准备开始写了
    也借鉴了不少drupal的思想,不知道你的框架能否让俺参考下。。

  • #7. Qing

    2009年09月18日

    不是没反映吗????

  • #8. Bun Wong

    2009年09月18日

    哈哈,我还没有时间优化下这个留言功能。。。发言的时候请稍等,嘻嘻。。。

  • #9. Bun Wong

    2009年09月18日

    哈哈,Qing 可以加我 QQ 联系啊

  • #10. Qing

    2009年09月18日

    我这么也找着你的联系方式来着
    我的
    316071542

* 昵称:

* 评论:

* 验证码: (请输入下图的 4 位数字)

Captcha看不请, 换一张

© 2011 Bun Wong

本博客基于 Bun PHP Framework 构建 • 粤ICP备07036370号