`
bardo
  • 浏览: 372212 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
D1407912-ab64-3e76-ae37-b31aa4afa398
浅述PHP设计模式
浏览量:11614
9d6df9f7-91da-3787-a37c-0e826525dd5d
Zend Framewor...
浏览量:9981
85b628bd-a2ed-3de2-a4b1-0d34985ae8b6
PHP的IDE(集成开发环...
浏览量:9338
社区版块
存档分类
最新评论

关于PHP开发框架

    博客分类:
  • PHP
阅读更多
如果上一下sf.net,你会发现,PHP开发框架不下于400多种。对于一个初级开发者,选择哪一种PHP开发框架,实是一个头痛的问题。
作为PHP初学者,学会一种PHP开发框架,不仅有利于提高编程水平,同时,也是对自己职业技能的一个大的提高。
但是,对初学者而言,学什么?可是一个最大的难题。并且,往往陷入各种各样的误区之中。
所以,我们有必要谈一下有关PHP框架选择中的误区。
误区之一:简单的就是好的。因为简单易学,所以,上手也快。
实际上,我们不能保证你整天做的都是个人网站。或者是只有几个页面的网站。一旦遇到大型应用,小的框架往往是无能为力的。比如,有人选择kiwiphp,说一个最明显的缺陷:该框架到目前仍存在跨站脚本攻击漏洞。
误区之二:流行的就是好的。比如,现在流行ROR方式,注解行敏捷开发模式,但并不是所有的应用都适合这些模式,这些框架充其量最多只能适应中型的网站的开发。甚至有可能,为了适应开发的需求,核心类库都需要改写。象CAKE,是照抄ROR模式的典型。而CI,则是敏捷开发模式的典型。我们可以看一下CI的LOGGER,日志类,如果你的项目中有CRONS,那么,这个日志类就不够用了。因为,它的输出模式定死了,就需要改写。如果你的项目中存在象BOM核销,或其它复杂的企业应用模块,很可能你需要邮件日志,短信日志,它是不能提供的。
误区之三:不知框架能够适用于哪一类工程。我曾对一些人说过,CI对于大型门户类网站,它就只能算是一个玩具。没想到,这话居然超出了倔们的想象。它们认为,CI就是一具优秀的框架,一个经典。
误区之四:相信一些网站中的评论,评分。或用户的评比。实质上,这些也不是均可以相信的。全世界都有初学者,你无法了解参与评分的是哪些人。虽说,目前CI,CAKE评分相当的高。但并不能说明,它们就是最好的。
误区之五:初生之犊不怕虎,这些人虽然很少,但也不乏这样的典型。对所有框架均不满意,而另行重写自己的。我们认为,你重写了自己用,还说得过去。如果重写了,直接开源,那么,很可能对初学者造成误导。比如,国内的kiwiphp,连基本的服务端器凋数据验证还没有加上,XSS攻击根本就无任何屏蔽,框架就发布了。这也就是说,根本不知框架中究竟要提供哪些东西。当然,我们并不反对任何人再开发一个PHP的开发框架,但是,前提是,开发之前,你确实弄通了一些经典的框架,并且,你确实组织开发,而不是参与开发过大型的网站。没有这样的积累,你是无法能够工发出优秀的PHP开发框架的
误区之六:获奖的就是好的。PRADO获奖了,FLEA也获奖了。PRADO做企业业应用,效率如何?无人能知。FLEA中,HEX色彩转RGB这个函数问题,早在一年多之前,我就提出过,但至今未见更新。当然,代码的成熟度肯定是随版本的更新而提高的,但版本更新的速度,以及用户量的多少,均是相关因素。CI,FLEA均是团队开发,而这种团队开发,代码的把关,就是一个很大的问题。CI中有相当成熟的代码,但也有相当初学者级的代码,这里就不多讲了。

最后向大家推荐一些值得学习的PHP开发框架:
zend framework : 作为PHP官方的开发框架,有很多的优秀的方面值得学习。当然,由于它并不是绝对优秀的,并且,开发中缺少统筹,从而不能顾及大从的需求,却含盖了很多不常用的需求。所以,此框架的最大缺陷就是,由此带来的学习与培训成本。
symfony : 此框架的立足点是大型网站,可以说是,PHP开发框架中的最优秀的经典。缺陷则是,耦合不够松散,不能支持敏捷开发。但无论怎么说,它可以说是目前所有框架中最成熟的一个。并有维基百科这样的成功实例。
prado : 这也是一个由国人主打开发的大型开发框架。此框架适合于企业应用的开发。并不适用于网站。主要是,其完全引入了.net的架构模式。
ezComponent :此框架最大的特点就是完全的松耦合,完全的DIY架构。这对于理解一个PHP网站应用需要哪些核心,具体编码流程的人来讲,是一个不错的选择,但对于初学者,仍不能写出安全的网站。相比而言,初学者如果使用CI,写出的网站不会存在安全问题,但用它,就不能保证了。如果初学者用zend,结果也是一样。
此外,也有同行推荐YII,由于我对YII不了解,所以,无法推荐。只此带过,供大家参考。如果你们发现了,有比SYMFONY更好的,别忘了推荐维我。

1
1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics