在上个世纪最后十年,是web应用从诞生到成熟的最重要的十年。在1990年,世界上第一个web服务器诞生,在1991年,世界上第一个web浏览器诞生。在随后的数年中,由于计算机硬件水平的提高,web应用的规模也逐渐扩大。在这期间,也诞生了很多语言,其中php是比较出众的一种语言。php的诞生是否意味着web应用将走向新纪元呢?它能否抵挡得注其它语言的进攻呢?
php横空出世
在1994年,rasmus lerdorf首次设计出了php程序设计语言。1995年6月,rasmus lerdorf在usenet新闻组comp.infosystems.www.authoring.cgi上发布了php 1.0 声明。在这个早期版本中,提供了访客留言本、访客计数器等简单的功能。1995 年中,第二版的 php 问市,定名为 php/fi(form interpreter)。在这一版本中加入了可以处理更复杂的嵌入式标签语言的解析程序。自此奠定了 php 在动态网页开发上的影响力。
自从php加入了这些强大的功能,它的使用量猛增。据初步统计,在 1996 年底,有一万五千个 web 网站使用了 php/fi;而在1997年中期,这一数字超过了五万。
前两个版本的成功,让php的设计者和使用者对php的未来充满了信心。在1997年,php开发小组又加入了 zeev suraski 及 andi gutmans(这两个人和rasmus lerdorf并称为php的三位创始人),他们自愿重新编写了底层的解析引擎,其他很多人也自愿加入了php的其它部分而工作,从此php成为了真正意义上的开源项目。在1998年6月,php.net发布了php 3.0 声明。在这一版本中php可以跟 apache 服务器紧密地结合;再加上它不断的更新及加入新的功能;并且它几乎支持所有主流与非主流数据库;而且它拥有非常高的执行效率,这些优势使1999年使用php的网站超过了十五万!
php经过了3个版本的演化,已经变成一个非常强大的语言。这种语言非常的易用,而且它拥有一个强大的类库,而且类库的命名规则也十分规范,就算对一些函数的功能不了解,也可以通过函数名猜测出来。这使得php十分容易学习,而且php程序可以直接使用html编辑器来处理,因此,php在1998年之后就变得非常流行,有很多大的门户网站(如sina)都使用了php作为自己的语言。
面对压力、勇往直前
在这个多元化的世界中永远都不会有唯一的选择。在php诞生的随后的几年,web应用逐渐被广大用户认可。在这期间,也诞生了一些和php类似的语言,这其中最著名的要数asp和jsp(asp和jsp和php不同,它们本身并不是语言,而是一种技术,asp可以使用jscript或vbscript进行开发,而jsp只能使用java进行开发)。asp诞生于1996年,这也是在微软前ceo比尔.盖茨宣布将微软的产品都加上internet功能的第二年。asp虽然只能运行在windows平台上,但由于微软的大力支持和asp的简单易用,使这种技术逐渐从php手中抢来了大量的用户。而在1998年诞生的jsp更是拥有强劲的势头。由于jsp几乎和php具有同样的优势,而且jsp是运行在jvm上的,因此,它的效率从理论上要比php高。随着这两种技术的诞生,php正在受到两面夹击。
然而php也不甘示弱,在经过不断完善后,终于在2000年5月推出了划时代的版本,php4。这个版本使用了zend (zeev + andi)引擎,提供了更高的性能,而且还包含了其它一些关键功能,比如:支持更多的 web 服务器;http sessions 支持;输出缓存(output buffering);更安全的处理用户输入的方法以及一些新的语言结构。
而语言的竞争在进行21世纪以来也发生的不小的变化。asp虽然在一开始赢得了一些用户,但由于asp的开发语言是jscript和vbscript,因此,它缺乏象php和jsp一样强大的类库,虽然asp可以通过调用com组件来弥补这个缺点,但这将是非常麻烦的。而jsp虽然拥有强大的类库,也可以跨平台,但由于java语言是强类型语言,而且jsp所定义的tag以及其它一些规范过于复杂,这使得jsp在使用上比php复杂。因此,php在上个世纪的web竞争中略显上峰。但进行21世纪后,情况显得更加复杂了。
羽翼已丰、三足鼎立
由于asp和jsp的一些不足,使php有了可乘之机。但这并不等于php的未来会一帆风顺。asp的市场现在虽然逐渐消退,但它的继任者asp.net正在以前所未有的势头抢夺的市场。而asp的缺点正好是asp.net的优点。由于asp.net从理论上可以使用基于.net framework的任何一种语言进行开发,因此,它同时也就拥有了一个基于.net framework的强大的类库。而sun的jsp也不甘示弱,由于jsp使用起来比较复杂,因此,sun又推出了用于简化开发的jsf(用于开发前端界面,jsp+jsf相当于asp.net)。这使得php又面临着一次空前的考验。
由于php是开源的,并且遵循gnu的gpl协议,因此,使它的支持和参与者遍布世界各地。而经过各方的努力,php也终于在2004年推出了php5,这个php版本较以前的版本又了里程碑式的改进。而这个版本为php的最大贡献就是完善了它的面向对象模型。在以前的php版本中虽然也支持面向对象,但面向对象模型并不完善,如没有构造函数、析构函数、抽象类等面向对象特性。而在php5中这些特性得到了完善。在数据库方面php5也做了大量的改进,如提供了用于访问mysql的新的数据库接口mysqli,另外,在php5中还可以使用面向对象界面和预处理语句(prepared statement)等mysql的新功能。另外,php5.0上还捆绑有小容量rdbms--sqlite。
而和php相关的产品也如雨后春笋般地涌现。尤其在国内,基于php的免费和商业web程序被大量地被应用。
让我们先看看在web程序中经常使用了论坛。目前在国内非常流行的论坛主有3个,它们是discuz,phpwind,molyx。这3个论坛被大量使用在国内的很多个人和商业网站中。在php论坛领域已经形成了三足鼎立的局面。而随着web2.0的流行,它们也逐渐加上了blog等新的功能。
伴随着论坛程序的更新换代,国内的php cms发展更迅速。在近几年,已经涌现出了很多基于php的文章发布系统。在2004年初有一个phparticle系统,但由于它的更新太慢,因此,用户逐渐对它失去了信心。但同时2004年也是php cms发展最快的一年,老牌的inews也开始浮出水面,3.0一下跳到了4.0。2004年4月份,号称“国内最强的cms":icms开始大势宣传,让很多人趋之若鹜。在这一年还有一些其他php 新闻系统在不段前进,比如博库cms,9466article,冰山cms等。
与此同时,全球领先的php技术领导者zend科技公司也宣布,公司在series d轮融资中获得2000万美金投资。此轮投资由greylock partners牵头,是该公司第一次投资zend。
这次新的投资使zend能够更快地拓展新兴地区的市场,加速产品的发展并且扩充服务体系以满足日益增长的企业级php客户的需求。作为zend科技两位联合创始人,andi gutmans 和 zeev suraski表示,“对于风险投资公司greylock partners看重zend的发展潜力,并愿意共同分享php市场的成长,我们感到非常荣幸。”
zend是推动php应用于商业获得成功的最典型代表,它创建了对现代web应用有深远影响的php开源道路。在全球范围内,现有超过2000万动态站点使用着php,包括yahoo!等著名网站,目前有超过半数的ajax-enabled和web2.0站点选择应用php。除此之外,php也是企业用来构建服务导向型、创造和混合web服务融于新一代的综合性商业应用的语言,成为开源商业应用发展的方向。
自从php5在2004年推出以来,php也逐渐成为企业级web应用的宠儿。同时和asp.net以及新版的jsp形成了三足鼎立的局面。这也许是大多数php用户所希望看到了。php的强大是有目共睹的。但它也有一些不足的地方,如提供了太多的函数和类,这使得它变得很复杂,这也是很多开发语言开始很好,但后来就变得难学的原因。而且php在可视化开发上还有行,这一点asp.net做得就很好,目前可能只有asp.net能做到这一点。如果php提供了用于可视化开发的ide,那么它的前途将会更加光明。但愿未来的php会在这些方面下一些工夫,毕竟,易用是一种开发语言最大的卖点之一。
新闻热点
疑难解答