笔者第一次使用的框架是ZendFramework,这是Zend公司写的一个彻底面向对象的MVC框架。同时,也是这个时候才了解MVC的思想。
在如此多的PHP MVC框架中,怎样去选择一款各方面都不错的框架学习并在项目中使用它?这是每个PHPer都会面临的问题。好比当前比较流行的框架有:ZendFrameWork、ThinkPHP(国产)、CodeIgniter、YII等。每一个人心目中的好坏标准不同,再加上有的人习惯了某框架,想让他再接受其优秀的框架也是比较难的。因此,咱们应该怎样去判断一款框架是否属于本身,变得很是的突出。如今我给出几个标准,你们赞同的点个赞,不赞同的欢迎讨论。
1、性能:
所谓的性能指的是IO、CPU占用、PHP解析时间等几个指标。当前的服务器最突出的问题是CPU已经很是快了,内存已经够大够便宜了,惟独硬盘IO不够高。这就像一个一个智商150与一个智商80的人作1+1同样,根本体现不出智商的优越性。laravel
特别指出一点,ZendFrameWork框架是我见过IO效率最差的框架。在不借助任何缓存扩展与其余框架对比状况下,简直不能忍受它的IO效率。相对来讲,在IO这块仍是那些用C语言写的框架比较好,CPU占用也低,内存使用也低。好比大名鼎鼎的Yaf框架。可是,它有一个致命的问题,框架安装是以扩展形式安装的。若是框架有Bug的话,也很难侦测到。
2、全栈式
虽然我我的不太同意PHP框架过分全栈式。可是,若是能把全栈式作到优雅简洁,我也是很是兴奋的。什么是全栈式?就是一款框架包含了WEB开发中全部的东西。好比:上传、分页、导入导出、邮件、日志、错误、二维码、RSS、RBAC等。这样的话,才能真正解决掉咱们去本身实现的麻烦,节省咱们的时间。也提升了代码的安全性移植性。
3、学习难度是否陡峭
毕竟咱们要运用到实际的项目中。之后陆续还会添加更多的人进入项目开发中。若是,学习难度过于陡峭,势必会影响项目的进度和后期维护的成本。目前,我用过的框架中ThinkPHP作得还不错,文档还比较完整易懂。换做正在用的YII框架,简直是头痛。提供的文档实在是过于简单,示例不够丰富。并且,代码不够优雅。在某些设计上,过于面向对象,致使在PHP这种语言中操做起来不是特别顺手。
4、框架社会是否活跃
一个社区活跃与否,直接关系到这个框架的将来的命运。谁也不但愿今天还牛逼的框架,就由于没有与时俱进,最终淹没在历史的长河中。本身又得花时间掌握新框架。好比:前几天MongoDB仍是比较火的时候,当时几乎没有框架在DB层,即ORM实现这个数据库的接口。而项目中可能会考虑使用MongoDB。当时几个比较知名的且速度比较过得去的框架都没有支持。结果,仍是我们国产的ThinkPHP支持了。虽然,BUG可能有点多。至少,某种程度说明了一个活跃的社区是很是有必要的。
5、框架使用的群体大小
一款框架再牛逼,若是没有人使用。你学了也只能在本身的一亩三分地有所建树。出了这个圈,效果就不明显了。PHPer学习这个东西,主要仍是为了能找一份高薪顺手的工做。若是,学了半天,结果却没有人用这个框架在项目中。那是至关悲催的。
综合所述,选择框架基于以上五个大点是很是有必要的。PHP初学者网站站长寒冰为你们奉上本文,但愿你们能有所收获。顺便说一下笔者所推崇的PHP框架:laravel。经过上面5个大点的对比,彻底超越了其余的PHP框架。数据库