2159浏览量

2013年最流行的php框架盘点

来源: 时间:2013-05-31

2013年最流行的php框架盘点

PHP框架的发展背景

毫无疑问,Web框架技术在近几年已经得到了突飞猛进的发展和普及,在过去几年里,框架技术的普遍经历了比较大的完善过程,很大一部分可以归因于Ruby on Rails,以及在其他编程语言中流露出的MVC框架思想。
如果你是一个PHP忍者,而不是一个铁杆的Ruby追随者,你也许会惊奇市面上已经有这么多的框架,哪一个才是适合你的。当然回答和个问题取决于的诸多因素,今天我们将会回顾一下这个典型的问题,如何为你的下一个应用系统选择适合你的PHP框架。
同时我们也来看一下比较流行的PHP框架,比较一下他们的区别,这样可以帮你自己做出明智的选择,找到最适合你项目的框架。

明确你的需求

在你决定为你的项目选择一个框架之前,你当先理解需要,需求和了解一些开发团队幕后的工作,我们总结出了如下几个问题,在开始下一步之前你可以试着问问自己。

你的应用程序主要集中于解决哪些问题?
你的应用可以是一个电子商务平台,一个社交网站,消息共享平台或者活动目录,举例来说,如果你正在构建一个电子商务网站,你也许更希望选用一些具有 用于处理信用卡和交易会话的成熟的扩展函数库的框架。另一方面,如果是一个轻量级的消息平台(比如说微博类系统),则你也许更应该注重快速的扩展和跨服务 器跨数据的支撑访问能力,为了实现负载均衡和快速连接访问。

你的主机运行环境将是什么?
有些特殊的框架会需要使用到一些非默认的其它PHP扩展或者软件安装在服务器上,比如,有些框架的数据抽象层必须要求通过PDO来实现访问,而非直 接调用更底层的MySQL或MySQLi,或者有些类似wiki类的程序的图像压缩和处理功能往往需要使用到ImageMagick 或 Graphiviz 这些外部程序。而这些扩展也许并不会被所有的共享主机环境(虚拟主机)支持,此外即便是一个轻量级的小型框架,而且自我集成了所有所需的函数库并且也具有 良好的可移植性和适应性,这样的框架应用在处理数据密集型的操作或者大型数据处理的系统时,性能又会成为它的主要瓶颈。
我曾经有一次印象深刻的性能优化经验,当我们为 http://i.openbiz.cn 这个网站进行性能优化分析的时候,我的同事总是抱怨为什么加载一个页面居然需要10秒那么久,而我根本看不到这个现象,后来发现应为我开发时候主要用的语 言是英语,而他QA所使用的语言版本是中文,我们实现代码内是依赖Zend_Locale这个扩展来实现一些常用字符的国际化,例如$=>¥的现实判别和货币、数字显示方式等,而Zend在这方面却是做的很全面支持了上百个国家的信息,而通过xhprof分析后发现,因为zend在为每一个字符串做现实处理的时候都通过SimpleXML接口 进行了大量的数据查询,这个活儿居然开销了9秒,最后我们还是换了一种更轻量的方式来解决这个问题,毕竟我们要面对的不是实现全球两百多个国家的显示支持,目前也就中国、美国、香港、台湾5个主要地区而已。

你的开发人员或团队的优势和劣势在于什么?

如果你是个项目经理,一个重要的事情是了解清楚你的具体开发人员他们的能力和弱势,因为他们是真的闷头干活儿人,所以也许你可以选择一些更加面向开 发人员友好的容易上手的框架。当然这个问题的也许并不是影响决定是否采用一个框架的决定性因素(不断地要求自己和团队学习新的技术总是好的),但着绝对是 一个会影响到你的时间表、预算和安全等多方面因素的重要考量条件。

如何在高耦合性 还是 低耦合性 的框架中做出选择?
如果从框架产品自身的耦合性来将目前主流的php框架产品分为高耦合性和低耦合性两类。低耦合性的框架看起来更像是一个丰富的函数库和逻辑封装的抽 象层,甚至有些好的框架自身就是PHP的一个高级扩展组件,比如PDO,它绝对算得上是一个数据访问的框架也是抽象层。还有一些其他值得一提的低耦合性框 架,比如Zend Framework,CakePHP,以及国内开发的ThinkPHP都属于这个范畴。 如果你将接手的项目历史问题比较多,并且对UI的自定义比较高,你恐怕需要一个低耦合性的框架来满足你灵活的需求。
另一方面是一些高耦合性框架的代表,比如一些由CRM衍生而来框架类似Drupal,Joomla,还有直接就是为了高耦合性而开发的 Openbiz Cubi 框架,国内小范围流行的框架还有 普元 等。这些框架的最优秀的特点是可以让你完全只集中于实现你的核心业务逻辑,你甚至不用去管如何实现UI和用户会话管理这些基础特性,你只需要把你的代码和 它们提供的接口规范进行“连接”就可以了。 如果你负责的项目是一个新的项目,你肯定不希望把大部分的时间都花在实现基础业务逻辑上,比如可能是为客户公司开发一套“停车场管理系统”,还是选择类似 Openbiz Cubi 这样的框架,在其之上直接去实现你的业务逻辑是最对得起你的时间预算和投资回报率的。


联系我们

一次需求提交或许正是成就一个出色产品的开始。
欢迎填写表格或发送合作邮件至: qczsky@126.com

大理青橙科技

电话:13988578755 13988578755

邮箱:qczsky@126.com

地址:大理市下关龙都春天10层

如果您无法识别验证码,请点图片更换