PHP框架选择

离最初用PHP编程序已经有8、9年时间了,后来这6、7年的时间一直研究Java,对PHP有些生疏了,但PHP的生命力却依旧顽强,对于面向Web开发时Java的繁琐,我最近又将注意力集中到了PHP上,但已经习惯了Struts这样的MVC框架,我也要寻找一个适合的PHP MVC框架,选择的标准有几个:1、性能;2、易用性;3、文档;4、长期支持度

我最开始看了Zend Framework,Zend的东西,毕竟带有官方特性,他的framework应该是代表着主流,看了之后,Zend Framework可以说是纷繁复杂,但是面面俱到,Web应用方面的问题基本都可以解决,我唯一担心的就是性能,虽没有做过测试,但也确实担心。

后来有一天在JavaEye上逛,看到一篇帖子《PHP框架的繁荣是正确的发展方向吗?》,讨论了PHP的运行机制、与ROR的比较、性能等等,非常热闹,同时也列举出了一些PHP的框架,特别是一些性能比较,让我很吃惊,CakePHP、Symfony可以不用考虑了。

接下来我看了看CodeIgniter,感觉不错,简单,相比Zend Framework要简单得多,大多数问题也都能解决,性能在一些资料描述中也表现的尚可(比Zend Framework要快几倍),而且其文档比较细,学习起来不难,后来又发现了Kohana,Kohana是从CodeIgniter衍生出来,由于CodeIgniter是兼容PHP4和5的,而Kohana只支持PHP5,是完全的OO方式,其文档并还没有仔细研究,看到了一个比较的文章《Notes on Choosing a PHP Framework: A Quick Comparison of CodeIgniter and Kohana》,看上去Kohana有些特性还是很优秀的,但不知道Kohana社区对于这个开源产品的支持有多好。

后来又看到文章《Performance of Yii》,发现Yii这个框架的性能更强劲啊,比CodeIgniter还要好几倍,不可思议,看了看Yii的文档,它也是完全OO的,要PHP5以上,核心应该也比较简单,能保持比较好的性能,但我觉得它的Guide文档比较粗,学习起来似乎要费点功夫,其性能应该是我最感兴趣的地方。

再说说国内的PHP框架,在JavaEye的文章里,QeePHP的作者也在推荐自己的框架,简单测试下比Yii还要快,好NB啊,但从社区反应出来其文档不够详细,其代码我也没有细看,似乎和Yii有很多相近的地方,另一个国内的PHP框架ThinkPHP文档比较详尽,但没有测试报告,不知道性能如何,而且在PHPChina的社区里和QeePHP有激烈的争论,挺有意思的。

看了一大圈,我也没有决定采用何种PHP的框架,他们各有长处,也各有缺陷,但综合考虑,我还是应该会在CodeIgniter、Kohana和Yii中选择最终的方案。

《PHP框架选择》有6个想法

  1. 我是那篇CI vs Kohana的作者。:)

    其实如果是Java用习惯的了的话,用Zend Framework应该会比较“亲切”的,ZF的很多机制都“借鉴”了Java。有些人喜欢,但我是比较不喜欢这种繁琐的机制。

    CI的缺点就是兼容PHP4,导致整个开发过程非常的过程化,习惯OO的思维后,用CI会有些许的不适应。

    Kohana的文档和Yii差不多,都不太完善。但Kohana由于与CI相近,所以如果熟悉CI的话,上手Kohana还是相对容易的。

    Yii是个非常有意思的框架,假以时日,肯定能有一番做为。Yii看上去比Kohana更“规范化”,个人认为有些介于CI与Kohana之间的意思。相对而言Kohana的开发比较不稳定。

    最好还是花一点时间精力,把几个框架都大致的把玩一下。久了后就会有体会到哪款框架更适合你以及你手上的项目了。

    我现在回过头来维护以前用ZF开发的网站,非常的头痛……

  2. 今天google kohana,居然看见laoer前辈的新Blog了,记得三年前前辈的开源天乙社区给我了不小的帮助。呵呵,我现在也用php了。

  3. “1、性能;2、易用性;3、文档;4、长期支持度”
    ”最好还是花一点时间精力,把几个框架都大致的把玩一下。久了后就会有体会到哪款框架更适合你以及你手上的项目了。“
    非常有帮助

  4. Yii用过一次,痛苦的体验,内置东西多了很折磨人,受各种限制。
    CI不错,不过最近正在学习KO,还是比较担心KO的前途,社区太冷清,相比有商业背景的CI那就是两极啊

发表评论

电子邮件地址不会被公开。 必填项已用*标注