乱评PHP框架难成大器的三大主因

自从Rails刮起了一阵框架风,其它语言群起响应,Java,Python,Scala,PHP,无论静态动态语言都出现了模仿Rails模式的框架出现,其中,PHP语言的框架生产力更是***,主流的PHP框架就有超过5种,加上不出名的框架的话,我估计起码有20多种框架,可怕的数量!!

在铁西等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计制作、网站设计 网站设计制作按需定制制作,公司网站建设,企业网站建设,品牌网站设计,全网整合营销推广,成都外贸网站建设公司,铁西网站建设费用合理。

PHP框架之路一直充满着争议,从PHP要不要用框架,到应不应该模仿Rails,却抵不上PHP框架的井喷式的增长,各类框架你方唱罢我登场,网上仅仅是罗列部分框架和简介就能成为一片文章,名为《国外十大***PHP框架排名》。PHP框架中比较知名的有:CodeIgniter、CakePHP等中小型框架和Zend、Symfony等大型框架。我一直在想为什么PHP的框架数量如此之多呢?

1. PHP开发框架太‘容易’了

不要骂我,说实话,PHP开发Web框架的门槛比起其他的语言,真的要低太多了,PHP本身已经有了对Web的支持,要做一个框架,只要先写一个单入口index.php,然后通过module和action参数执行对应的Controller类,和View代码,一个非常简单的框架就好了,熟练的程序员一两天就完成了。如果觉得太简单,再稍微封装一下,把$_REQUEST,$_SESSION封装一下,封装一下数据库操作等等。到这里一个有模有样的PHP‘MVC框架’就基本出炉了。熟练一点程序员一周时间搞定了。

相反其他语言,以ruby为例,光是对REQUEST的处理,参数解析等基础功能实现,就远远不止一周的工作量,在加上ruby语言的高灵活性和复杂的语法,使他开发一款拿的出手的框架所需要的精力是大大的超越一般,开发框架的门槛低是PHP框架泛滥的因素之一。

2. PHP的封装能力弱,致使框架的灵活度不够

这也是事实,PHP的框架很多,但是一般要评估项目,来选择适当的框架,如果是一个简单的web项目,一般选择CodeIgniter、CakePHP这类框架,如果是大型的应用,也会选择Zend、Symfony等大型框架,因为你会发现使用Zend和CodeIgniter完全是两回事。

也许我说的抽象了,那我举个例子:在默认的PHP环境中,是没有AOP功能的,不能对类的已有方法进行功能性增强,在需要实现类似功能的情况下,你就需要显示的修改外面的代码,非常流行的做法是利用PHP的魔法函数,但是依然需要修改对象的创建方法。

依然对比Ruby,它几乎是内置了AOP支持,可以在完全外部调用完全不变的情况下完成功能的增强。

在框架的封装中这种能力的差异就更加的显著,在PHP中框架复杂度高也提高了使用者的难度,而不能像Ruby等完全将复杂性隐藏在框架的内部。(说句题外话:javascript也是如此,jquery便是佐证)。

3. PHP的实现机制,使得框架的性能成为诟病

PHP的运行模式,每次request结束都会完全释放所有资源,导致框架的加载成为了一个不可忽视的性能累赘,即使你不介意上面提到大型框架的使用复杂度高,这个原因也让你不会在中小型项目中轻易使用Zend等大型框架。同时也限制了框架的能力。

据我分析,正是这三个原因,使得PHP的框架如此之多,但是没有一个成为真正的主流。这种情况未必是好事,在Ruby中,Rails一统,使得Rails社区***繁荣,很多Ruby高手开发各种插件增强的它的功能。使得它有着十分良性的发展。在js框架中jquery也有着相同的经历。

在PHP中,高手则是不停的贡献它们的新框架,老实说我个人觉得帮助很有限,更是搅浑了这一缸水,其实很多框架完全可以合并为一个发展,与其出现100个60分的框架,不如出现一个100分的好框架。PHP框架,多的让我伤不起啊伤不起。

原文链接:http://www.iteye.com/topic/1071177

本文题目:乱评PHP框架难成大器的三大主因
文章URL:http://www.gawzjz.com/qtweb2/news9/18659.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联