值得研究的PHP主流FrameWork框架

  熟悉Java的淫都知道FrameWork的好处,对我们来说,最重要的一点就是能够大大提高开发效率,PHP作为web应用开发语言以来,已经受到全球范围内的广泛使用,各种资源也是相当丰富,我这几年也一直使用PHP来作为主要的web项目开发语言,期间逐渐的接触到了PHP的几个FrameWork,我目前知道的不错的有这么几个,其中大部分我都还只是了解皮毛,有空了一定要好好研究研究。

  • Zend FrameWork f_zend
    这个东西应该PHP的牛淫多少都知道点,Zend是干啥的不用多说,所以他们弄的这个FrameWork自然不用怀疑,一定不会比别的差,Zend称这将是下一代的主流框架。
  • CachePHP f_cakephp
    CakePHP是一个比较容易上手的PHP FrameWork,他完全采用面向对象的方式开发,支持AJAX,对于中小型web项目来说,很有可能是首选,目前它的用户也不少,有在线社区支持,同时已经有了中文的Manual文档,需要的朋友可以找我拿,网上应该也可以Google到。不过CakePHP有个不好的地方,那就是Model类过分复杂,在大型应用中很难实现单元测试,会大大的影响到大型项目中后期的开发和项目重构。
  • Symfony f_symfony
    大概知道CakePHP的人也会同时知道Symfony,这个东西也采用了面向对象的方式,实现了快速开发支持和AJAX的支持,使用了庞大的 Creole 和 Propel 作为数据源层,数据库和SQL操作非常简单,如同操作对象一样,但是同样的却带来性能上面的不足。目前这个东西也是越做越复杂,封装的东西越来越细,有强烈的面向对象癖好:) ,它的文档也比较丰富,在线网站有社区支持,熟悉面向对象的朋友可以尝试一下。
  • PHPOnTrax f_phptrax
  • 个人认为这个FrameWork不错,由于有成功的Rails作为基础,PHP on Trax是值得信任的,它基本上就是Ruby on Rails的php翻版,有不少人直接叫这个东西为 PHP on Rails。它对MVC框架的支持非常好。

  • Agavi f_agavi
    这个FrameWork我只是大概听说,没有太多了解,更多细节可以去它的官方网站上研究一下,有论坛支持。
  • web.framework f_wf
    关于这个FrameWork在我的Blog里面曾经有过一篇它的文章介绍,就不在这里多说,大家可以从这个链接查看: 《基于MVC架构的PHP5 web.framework 》
  • iConnect f_iconnect
    在目前的PHP框架中,iConnect是一个专为企业应用设计的FrameWork,这个东西在我的Blog上也有过文章说过,大家可以访问这里查看:《iConnect, 一个开源的PHP 5框架>
  • phpMVCf_phpmvc
    这个FrameWork比较有历史,它是基于Java的Struts 来实现的PHP框架,从功能和成熟度来讲都不错,熟悉Struts的朋友可以立即上手使用。
  • phpWact
    这个框架不太熟悉,但是据说历史比较久远,它实现了很多企业级的开发模式,主要的设计思路是基于可持续的软件重构和单元测试,它基于 simple test 实现单元测试,企业应用可以尝试使用这个框架来实现。
  • Studsf_studs
    从名字上你大概也就能猜出怎么回事了,不错,它就是Jakarta Struts结构移植过来的PHP开发框架,使用面向对象的开发结构和API,模拟了一个HTTP Servlet容器和使用了PHP服务页面引擎技术。
  • FleaPHP f_fleaphp
    FleaPHP是值得国人高兴的一个FrameWork,因为他是一个我们国人自己开发的PHP FrameWork,FleaPHP 是一个采用 PHP 开发(完全支持 PHP4 和 PHP5)的应用程序框架,为开发者创建自己的应用程序提供了必要的基础功能和辅助组件。FleaPHP 的全名是 Fast-Lightweight-Extensible-Automatic PHP web application framework。FleaPHP 是一个遵循 BSD 协议发布的开放源代码应用程序开发框架。你可以免费获取 FleaPHP 框架,并应用到自己的开发工作中。与流行的 GPL 协议不同,FleaPHP 遵循的 BSD 协议不要求开发者将基于 FleaPHP 框架开发的应用程序公布于众。这很好的保护了开发者及其所属企业的利益。更进一步,即便你基于 FleaPHP 实现了自己的产品或者对 FleaPHP 进行了修改以满足自己的需求。你仍然不需要公布你的劳动成果。

  目前我知道的就这几个PHP的框架,实际上他们都各有所长,我们完全没有必要全部都去深入的搞明白每一个,并且熟练驾驭他们,我们只需要根据个人的习惯、喜好选择一个适合自己的,然后深入的研究它、应用它,进而大大的提高自己的开发效率和产品质量。

  我也没有完全确定自己该选择哪一个框架,由于缺少Java经验,C++经验也匮乏,习惯了C的面向过程开发,让我在选择这些框架的时候比较难以抉择,也希望有更多经验的朋友给予指点:)

You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
23 Responses
  1. killer says:

    ZF是好东西,symfony也不错,各有千秋,不过个人现阶段还是比较看好symfony,仅仅是它的数据封装,相比ZF就烂多了

  2. echonow says:

    lz推荐的这几个东西,应该都不错,现在唯一担心的就是,这几个框架的维护更新问题,真的不希望,已经非常熟悉并且习惯其中一个框架,到后面发现其更新维护出现问题,而被迫更换,那将是非常痛苦的事情,按照目前实力来分析,zf貌似更让人放心些

  3. 南半球 says:

    个人觉得框架可以提高开发效率、代码维护效率,有利于团队开发,统一代码框架风格。
    但也有些问题,首先是对大并发量的网站使用框架的效率问题,还有对于要频繁变更需求的运营类网站。

    对中小应用开发,使用框架可能反而降低效率,有些框架本身也比较繁杂了,比如JAVA的struts框架使用的人很多了,但我们以前公司是技术经理改写后使用,改得轻便简单些了。

    这里有一篇比较PHP几个流行框架的参数:
    以下为引用内容:
    用apache branchmark对四个框架进行了测试。
    结果是Solar每秒中处理请求最多,Zend Framework次之,后面则跟着Cake,Symfony。

    framework | avg | rel
    solar-0.25.0 | 170.26 | 3.24
    zend-0.6.0 | 131.91 | 2.51
    cake-1.1.12 | 114.39 | 2.18
    symfony-1.0.0beta2 | 67.18 |1.28

    由于该ZF版本是0.6版,而Beta 0.9.0版也已经发布,所以上面结果可参考一下。
    内容引自:
    http://www.gonefish.cn/php/cake-vs-solar-vs-symfony-vs-zend-framework

  4. frchen says:

    楼主能不能把那个cachephp的中文文档发给小弟呢
    frchen_03@yahoo.com.cn
    谢谢!!

  5. Michael says:

    点击这里访问,可以保存到你自己电脑上。
    http://www.toplee.com/manuals/php/cakephp.html

  6. rankey says:

    老兄。我有选择恐惧症。。寒。。

  7. Michael says:

    到目前为止,个人推荐Zend Framework,研究别的框架,纯粹是学习和兴趣。 看过一两个其他的framework后,对加深了解Zend Framework是有帮助的,也更能明白为什么ZF更好。

  8. bigbenz8 says:

    我看博主怎么像是黑社会的,呵呵。

  9. Michael says:

    呵呵,这个秘密都被你发现了。。。

  10. wow gold says:

    黑社会

    有点像

  11. Michael says:

    [Comment ID #18648 Will Be Quoted Here]

    晕,现在17大要召开了,大家可不能乱说话 🙂

  12. 秋香 says:

    国内还有一个 thinkphp

  13. Michael says:

    [Comment ID #18751 Will Be Quoted Here]

    我这篇文章比较老了,也懒得更新了,新的优秀的framework相信也会不断涌现,百花齐放有利有弊。

  14. 代码罐头 says:

    选定了用哪个了么?
    其实我一直觉得网站程序是不需要用OO的
    因为OO程序有几个特点
    1.类的层数在3层左右,没有到达这个数量的.用OO并不会简化什么
    2.父类与子类之间,必定要有一处完全相同,有一处完全不同.否则就没必要用到OO
    说穿了虚函数和RTTI才是OO的真正目的所在.
    而不需要用到这个的.
    最多也就是OB.OB的事情.数据封装的好就可以了.

  15. Michael says:

    你说得很对,其实用什么不是关键,解决问题就行,从我的blog多篇文章来看,我们诸多项目采用了Zend Framwork。

    对我来说,用什么关系不大,我的主要目的是为了让团队的成员开发的时候风格、规范统一,在系统分析和设计上也减小沟通成本,在后续人员变动、系统升级等诸多方面都能降低成本。

    除此之外,我更多的工作是协调和配合,技术上,专注于效率、安全更多一些。

  16. Hex says:

    博主还忘记了一个非常优秀,并且非常好学的 CodeIgniter 框架!
    20分钟就能做一个博客的框架,并且有清晰完善的文档,使用这个框架才会发现编程是一种享受!

  17. Michael says:

    [Comment ID #25688 Will Be Quoted Here]

    🙂 科技在进步,时代在发展,越来越感觉我落后啦。。。活到老,学到老。

  18. 代码罐头 says:

    是二十分钟就能做博客
    还是也就只能做博客了
    呵呵
    开个玩笑.去学习下

  19. Marvin.Shoo says:

    还有一个框架很好拉
    akelos
    http://www.akelos.org
    有兴趣的大家可以看下

  20. lee99 says:

    那好吧,如果有兴趣不访看看这个,呵呵。
    说了这么多个FW这个不看有点惜:
    http://www.thinkphp.cn

  21. zz says:

    再介绍个框架
    diggmore,是基于ZF写的,封装了很多东西…
    不过这只是内部代号,据说写出来后,懒的推广了…
    他们几乎是写了自己用的 http://www.7yes.com
    有次跟他们沟通的时候,看了下源码,的确很强大….
    适合大网站的部署构架的了
    有兴趣可以去找找资料看看~ 呵呵

  22. lin says:

    可以试试国产的speedphp框架,速度挺快的

Leave a Reply

Your email address will not be published. Required fields are marked *

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Anti-spam image