PHP的前途

== 前言 ==

我原来想给这篇文字起的名字是《PHP大有前途》,后来觉得还是不要这么煽情的比较好,于是就把文章的名字改成了现在这样子。

本文的目的是总结最近半年内PHP技术方面的一些重要进步,并基于此来谈谈PHP技术应用的前途。我自己不会详细叙述每个细节,也不会把每个提到的事件、术语给出具体的出处(相关事件或术语可在google搜索到),但会把所要谈到地方大体讲清楚。

我个人认为最近半年内PHP最重要的三项进步是:Zend Framework v1.0.0的正式发布;Zend Studio for Eclipse (Neon beta)这款集成编辑环境(IDE)工具的推出;命名空间(name spaces)和后期绑定(late binding)将成为PHP 5.3/PHP 6的一部分。

== Zend Framework v1.0.0的正式发布 ==

从PHP Framekwork(框架)而言,有将近十个左右明显出色的框架1,其中最出色的可能有5、6个左右,这包括Zend Framework, CakePHP和Symfony这三款最知名的。Symfony功能相当强大,但CakePHP在易用性等方面更胜一筹。我个人曾优先推荐使用CakePHP

最近一个来月我开始在公司和家里使用Zend Framework。我的使用感觉是,Zend Framework的设计特别出色,其编程设计所具有的美感可以和Smarty相媲美(Smarty是我特别欣赏的一套PHP程序)。我认为Zend Framework将是未来大型PHP项目开发的重要框架(我个人认为它应该是首选框架)。

我认为选择Zend Framework有如下几条主要原因:
  • Zend Framework是面向企业级开发的框架(抱歉,这个论述是别人可能曾经说过的,但目前我找不到出处)。

  • Zend Framework代码本身的优化和在服务器端的优化是有保障的(抱歉,这个论述是别人可能曾经说过的,但目前我找不到出处)。

  • Zend Framework本身的设计哲学遵循PHP的设计哲学: 简单、易用、易于扩展!(当然,首先你要比较熟悉它,才会觉得它简单、易用)

  • Zend Framework有着Zend公司的专业性和强大技术保证。Zend Framework不是草莽英雄型、昙花一现型的开源软件,而是由最专业的、最权威的PHP公司组织下开发的框架。

(就我个人而言,我会优先使用Zend Framework, PEAR和Smarty这套组合作为开发工具,另外还要加上PHPUnit, Subversion等。至于Ajax,我个人会选择Dojo这款Ajax引擎。)

Zend Framework目前的缺点是:该框架似乎依然在作一些比较明显的调整(例如从v1.0.0到v1.0.3之间所作的调整),但可以接受;官方文档比较丰富,但是都是化整为零式的描述,缺乏基于完整项目的好的实例;可用于参考的、与时俱进的实例代码有限(不过你还是可以从Google代码搜索中找到个别完整的基于Zend Framework的开源项目代码)。

== Zend Studio for Eclipse这款IDE的推出 ==

我在今年秋天之前使用Zend Studio作为PHP的编辑软件,大概自十月份Zend Studio for Eclipse推出后就改用了Zend Studio for Eclipse。Zend Studio for Eclipse(不免费)与Eclipse with PDT(免费)相当类似,但有着一些额外的不免费的功能。

一直以来我个人最推崇的IDE是JBuilder企业版(Visual Studio近几年没深入用过,因此无法评价)。Zend Studio for Eclipse目前所能达到的高度虽然(明显)不及JBuilder,但是我已经相当满意了。

Zend Studio for Eclipse依然处于beta状态,依然有着一些缺点(例如界面颜色样式设置不方便、在building projects时可能停止响应等),但就Zend Studio for Eclipse相对于以前的Zend Stuido的改进来讲,我认为这款IDE的前途是光明的。(和Zend Studio for Eclipse比起来,Zend Studio就显得挺傻。)

Zend Studio for Eclipse在管理庞大代码库的时候,其所具有的优势是相当明显的。因此,Zend Studio for Eclipse应是大型PHP项目开发的重要工具。

== 命名空间和后期绑定将成为PHP 5.3/PHP 6的一部分 ==

命名空间的出现便于组织规模庞大的代码系统,便于在不同系统中共享代码。后期绑定将使得PHP与Java的面向对象的风格更接近一步,使得PHP编成的灵活性大大增加,并且将会明显丰富PHP的设计模式(目前PHP可用于实践的设计模式还是很有限的)。

PHP对命名空间的引入在过去的一两周引起较大的讨论。我个人认为命名空间的引入是无需有太多争议的。PHP超强的编程灵活性并不意味着命名空间是可有可无的。没有命名空间,PHP将始终被Java、 .NET开发者们视为小打小敲型的工具而已,难登大雅之堂;没有命名空间,PHP离企业级开发始终有那么一些距离,始终还只是更像是一把瑞士军刀,而不具有航空母舰的气质。

== 结尾 ==

以上三点重要进步为PHP未来进一步扩大应用范围提供了重要的技术保障,但是PHP在企业级开发中被更大范围地接受还是需要一定时间的。首先是因为PHP 5.3和PHP 6的推出及其稳定性依然有待时间考验,其次是在新的技术手段下依然需要一定时间进行技术积累。

如果互联网在未来2到3年还是如今天一般景气的话,那么PHP在未来三年后将应比现在更上一层楼。

[注1] 就国产中文PHP框架而言,有两款可能是最知名的:FleaPHPThinkPHP。可惜的是我并不研究或使用中文PHP框架,因此无法对其作出具体评价。

标签:

类别:

评论

狗屁不通

你的博客没有RSS,无法订阅。

关于 FLEAPHP ,就我个人 而言,总体感觉还不错,上手比较容易, 可以说算是一个较为 简单的框架了,在 整合 Smarty后,向mvc 靠拢, 我用了半年多,感觉还是比较实用的,可能是没有过多使用其它框架的缘故FLEAPHP还算是一个 小型化的开发用框架了

FLEAPHP我没有用过,不过我相信它应该是相当好的国产PHP框架(之一)。

不过对我而言,我目前是Zend Framework很坚定的支持者和使用者。

祝你好运。

这么多年过去了,楼主现在的观点如何?

一、在web开发方面PHP有它独到的地方;二、对于PHP,只要玩得好、玩得够深入,它就是你web开发方面的瑞士军刀;三、玩得好不容易,要很花时间、精力和心思;四、玩得好的话,不用担心没有好的工作、收入或收益。

至于说到之前这篇文章里面提到的一些关于PHP的内容,有些已经过时了。一、Zend Framework作为一框架也是不错的选择,但也许Symfony更获好评,至于Composer等近乎标准化的packgage管理系统等则更不用说了;二、IDE方面,Phpstorm是业界良心选择,Zend Studio、Eclipse等与之相比之下确实逊色;三、下一代具有突破性的PHP版本,不是PHP 5.6 + Opcache,而是PHP 7或者HHVM。

分享些个人心得。欢迎指正。

添加新评论

友情提醒:您的言论自由在本站会得到充分保证;不过,由于广告留言等猖獗,因此本站的内容过滤系统有可能会暂时屏蔽您新发的留言或评论。不便之处,希望理解。