设为首页 收藏本站
查看: 660|回复: 0

[经验分享] “草根”的进化-PHP发展简史

[复制链接]

尚未签到

发表于 2017-3-28 13:27:11 | 显示全部楼层 |阅读模式
(本文于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风格的起始标签。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-356538-1-1.html 上篇帖子: IIS6.0以Fastcgi方式配置php 下篇帖子: cakephp工作笔记24---php编程规范
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表