“草根”的进化-PHP发展简史

来源:互联网 发布:华为网络设计师待遇 编辑:程序博客网 时间:2024/05/08 00:04

(本文于2010.10.01发表在《草根》杂志第四期,LAMP交流超级群(500人):106382633)

PHP源于一个古老的工程,名叫PHP/FI。PHP/FI工程在1995年由Rasmus Lerdorf这家伙创建。最初PHP这小子只是一套简单的Perl脚本,用来跟踪访问他主页的人们的信息。这一套脚本取名为“Personal Home Page”。谁承想PHP的需求在不断增长,所以Rasmus又写了一个更大的C语言的实现来满足发展需要。慢慢的,他能访问数据库,能让用户研发简单的动态Web程式。后来因为负担不了沉重的需求压力,Rasmus发布了PHP/FI的原始码,以便每个人都能参与他,修正他的Bug并且改进他的原始码。

PHP/FI,一个专为个人主页/表单提供解释的程序,令人惊讶的是,它已包含了今天 PHP 的大多数基本功能。他有着Perl样式的变量,自动解释表单变量,并能嵌入HTML。语法本身也和Perl非常相似,不过他也非常有限和简单。

到1997年,Rasmus Lerdorf这哥们睡醒了发布PHP/FI2.0时,他自己都不知道,全世界已有几千个用户(估计)和大约50000个域名安装,什么?这么点?你可知道这个数字大约是当时Internet所有域名的1%。不过因为那个时候开源的普遍接受度不是很高,所以实际上只有几个人在为该工程撰写少量当代码,一定意义上当时的PHP仍然只是个人的工程。

PHP/FI2.0在经历了数个beta版本后于1997年11月发布了官方正式版本。不久,随着PHP3.0的第一个alpha版本发布,PHP开始走向了成功。

PHP3

PHP3.0是类似于当今PHP语法结构的第一个版本。Andi Gutmans和Zeev Suraski在为一所大学的项目中研发电子商务程序时发现PHP/FI2.0功能明显不足,于是他们重写了代码(牛逼……)。这就是PHP3.0。经过Andi,Rasmus和Zeev一系列的努力,考虑到PHP/FI已存在的用户群,他们决定联合发布PHP3.0作为PHP/FI2.0的官方后继版本。而PHP/FI2.0的进一步研发几乎终止了。

PHP3.0到底有多牛逼?且看他最强大的功能:可扩展性。除了给最终用户提供数据库、协议和 API 的基础结构,它的可扩展性还吸引了大量的研发人员加入并不断提交新的模块。后来证实,这是PHP 3.0取得巨大成功的关键。PHP 3.0中的其他关键功能包括对面向对象的支持和更协调的语法结构。

这个全新的语言伴随着一个新的名称发布。他从PHP/FI2.0的名称中移去了暗含“本语言只限于个人使用”的部分。他被命名为简单的缩写“PHP”。这是一种递归的缩写,他的全称是PHP:Hypertext Preprocessor。

1998年末,当我还在家乡某个角落忙着玩过家家的时候,PHP的安装人数已经猛增到10,000,有大约100,000个网站报告他们使用了PHP。在PHP3.0的顶峰,当时Internet上10%的Web服务器上都安装了他。

约九个月的公开测试后,官方于1998年6月正式发布PHP3.0。

PHP4

1998年的冬天(我毅然在玩过家家……),PHP3.0官方发布不久,Andi Gutmans和 Zeev Suraski开始重新编写PHP代码(有完没完了……)。设计目标是增强复杂程序运行时的性能和 PHP 自身代码的模块性。PHP 3.0的新功能和广泛的第三方数据库、API的支持使得这样程序的编写成为可能,不过PHP 3.0没有高效处理如此复杂问题的能力。

新的被称为“Zend Engine”(这是Zeev和Andi的缩写)的引擎,成功的实现了设计目标,并在1999年中期首次引入PHP。基于该引擎并结合了更多新功能的PHP4.0,在PHP3.0发布两年后,于2000年5月发布了官方正式版本。除了更高的性能以外,PHP4.0还包含了其他一些关键功能,比如:支持更多的Web服务器、HTTP Sessions支持、输出缓存(output buffering)、更安全的处理用户输入的方法、一些新的语言结构。

截至2002年,已有10,000名研发人员(估计)和几百万网站报告已安装了PHP,占整个Internet域名的20%。同时随着开源力量的不断发展,PHP的维护小组开始拥有了非常多优秀的研发人员,同时更多的爱好者在进行着PHP相关工程的研发工作,如PEAR和PHP文件的工程。

PHP5

2004年7月,PHP一个里程碑的时刻到来了,基本实现完全面向对象的PHP5.0正式版横空出世,该版本以ZendII为引擎,并且加入了诸多迫切需要的功能,最令人激动的,从这个版本开始,PHP大大加强了面向对象的功能。除此以外还引入了PDO(PHP Data Objects),一个存取数据库的延伸函数库),另外,PHP还大幅度的优化了核心,改善了执行效率。

其次是XML功能,PHP5.0版本支持可直观地访问XML数据、名为SimpleXML的XML处理用界面。同时还强化了XML Web服务支持,而且标准支持SOAP扩展模块。数据库方面,PHP新版本提供旨在访问MySOL的新界面。除此前的界面外,还可以使用面向对象界面和预处理语句(Prepared Statement)等MySQL的新功能,另外,PHP5.0上还捆绑有小容量RDBMS-SQLite。

截至发稿时,笔者从谷歌得到的数据显示,使用PHP部署的网站已经达到2,460,000,000个,24亿!并且还在不断的增长中。

       未来发展

PHP6

PHP6现在是满地开花不结果,不过目前PHP5足够稳定,也足够使用,官方可能也觉得没有发布PHP 6的需要,要知道现在多少网站还是用PHP4写的!不过就目前看来PHP6将会有一下改变(以下内容摘自百度百科PHP6关键字)。

支持Unicode。 Register Globals将被移除。

Magic Quotes将消散。 “var”别名为“public”。

通过引用返回将出错。 zend.ze1 compatbility mode将被移去。

Freetype 1 and GD 1 support将被取消。 dl()被移到SAPI中。

一些Extension的变更。 告别ASP风格的起始标签。

原创粉丝点击