以下我们来看看别人说的PHP的发展前景:
钟胜辉:三门语言其中,无疑php是最流行的。而Python和Ruby在近期几年也有着不错的发展趋势。
我个人觉得,Ruby的流行很多其它地源于Ruby on Rails,这个框架的流行程度甚至超过了Ruby语言本身。也引发了其它语言平台上对框架的研究。
而Python在近来的被关注度和发展速度要超过Ruby,被一些喜欢创新的项目採用,这可能要很多其它地归功于google。
这三种语言都是相当优秀的脚本语言,为什么PHP能大行其道,杀入排行榜的三甲呢?从表面上来看,这是就业环境使然。越来越多的新公司或者新项目使用PHP,这使得PHP相关社区越来越活跃,而这又反过来影响到非常多项目或公司的选择,形成一个良性的循环。就我眼下了解到的情况,PHP是国内大部分web项目的首选。并且有非常多公司从其他语言(如ASP,JAVA)转到了PHP。合适的就是最好的。PHP的高速。开发成本低,周期短,后期维护费用低,开源产品丰富(这点能够影响到非常多项目的决策),这些都是另外两种语言无法比拟的。另外。在非常多大项目中。Python很多其他地是做为一种“粘合剂语言”出现。似乎正在走向与PHP不同的发展方向,让我们拭目以待。
51CTO记者:PHP开发框架的盛行是由RoR的火爆所引起的。而PHP框架的发展也从模仿Rails到逐渐有了自己的风格。只是仍然有非常多入行较早的PHP开发人员至今仍觉得PHP这样的快捷的语言不须要框架,甚至觉得仅仅要有优秀的架构,框架根本不是必需。您觉得PHP框架对PHP而言是必要的么?您对于PHP开发工具的现状惬意么?
钟胜辉:这是一个见仁见智的问题,我个人觉得。一个优秀的框架能在非常大程度上提高工作效率。尤其是对大中型项目。当然假设对项目有足够的把控能力。框架也并不是是必须的,毕竟PHP的框架跟ROR的情况有所不同。多而混乱,而学习一个框架是须要时间的。像你的问题中提到的,非常多老的PHP程序猿对框架不屑一顾。觉得自己对项目有足够的把控能力,不须要框架这么累赘的东西。然而从长远来看,一个优秀的框架能够延长一个项目的寿命,减少维护和二次开发的成本。我们眼下正在开发中的CMSTOP。是一个产品型项目,在这种项目中,没有一个优秀的框架是非常难想象的。在研究对照了眼下主流的PHP框架之后,我们发现没有哪个框架能全然适合一个CMS的项目,于是我们决定自己开发一个框架。
眼下这个框架极大地提高了我们的工作效率。并且。我们会在适当的时候将这个框架开源。
51CTO记者:PHP的面向对象设计的并非非常好。非常多在Java一类语言里面可以非常好应用的面向对象写法在PHP里面实现起来却非常繁琐。您觉得面向对象对于PHP这种Web开发语言来说重要么?PHP的面向对象是否还可以改进呢?
钟胜辉:PHP的面向对象属于历史遗留问题,并且,说其不好,慢慢也会成为历史问题。
从PHP5相对PHP4的进步,我们有理由去期待PHP6给我们带来很多其它的惊喜。不论对什么样的语言,面向对象很多其它的是一种思考问题的方法,没有必要为了面向对象而去面向对象。
PHP最初的面向对象。能够简单地看作是函数的升级,以前被非常多其它语言的开发人员取笑。但PHP5的面向对象已经足以满足大部分WEB项目了。
一门语言要想生存下去,就得去适应技术发展的潮流,并不断做出调整,在这方面,PHP的团队充满了活力。
51CTO记者:PHP站点的安全是个非经常见的问题。有关PHP站点漏洞的消息是非常多的。
您觉得这当中的原因和PHP语言本身的特点有关么(相对于如PHP站点数量、PHP代码编写习惯等其它因素)?PHP的安全有改善的空间么?
钟胜辉:站点的安全是一个比較系统的问题。它跟server安全以及代码的质量是直接相关的,我们并不能说PHP这门语言不安全。
眼下PHP有非常多优秀的开源产品。比如discuz,phpcms等,即使在开源的情况下。这些产品也保证了足够的安全性。
PHP的门槛非常低,一两周的时间就能够入门,而这些“高速入门”的程序猿,往往easy忽略代码安全问题。安全问题的改善。取决于越来越多的PHP程序猿对这个问题的重视程度。
51CTO记者:如今在不少大型项目中。PHP全然充当了脚本的功能,而逻辑性比較强的业务处理则由还有一门功能丰富的语言(比如Java)来实现。您觉得这样在复杂度、开发快捷度、开发周期以及成本等方面有着如何的影响?
钟胜辉:这样的情况确实存在,但我觉得之所以出现这样的情况,并非由于PHP“做不了”。而是非常多项目负责人对PHP的偏见以及对JAVA等语言的迷信造成了这样的现状。当然,我们不是否能认,有非常多问题确实是PHP做不了的,做为一种解释型的脚本语言,PHP本身就不适合做大型的数据运算。它也不可能成为一门“万能语言”。在大型项目中。多种语言配合工作是一件非常正常的事情。比如说。PHP负责收集数据,提供界面,C负责处理分析数据。Python来做粘剂。各种语言各司其职,协同合作,仅仅是分工的不同而没有高低贵之分,就像假设用C来做数据展示一样会非常痛苦。
我不觉得PHP往复杂计算方面发展是一件好事。并且我相信PHP的开发团队也会把握好这个度。
没有哪种语言能够做到“万能”。java有这样的野心,但我们能够看到java如今的境遇似乎并不如PHP那么红火。假设PHP也追求“万能”,那将是一场灾难。