迹忆客 专注技术分享

当前位置:主页 > 趣味杂谈 >

追本溯源之浅谈PHP的发展史

作者:迹忆 最近更新:2015/12/28 浏览次数:

从2012年开始正式接触PHP到现在已有将近四年的时间,中间虽说也接触过其他的技术,却始终没有放弃PHP,直到现在我依然在做着PHP的开发工作。随着工作经验的不断积累,虽说不上对其研究越来越深入,但是在应用上却可说越来越熟练。然而每当和别人交流的时候,对它的记忆却又仅止于PHP4这一时代。PHP在快速的发展,从PHP4到PHP5然后到PHP6最后快速的究极进化到PHP7,而我们就这样在后面紧追慢赶着,生怕一不留神就被落下很远很远。

如今的我们一直在追求着高大上的技术,却常常忽略了那些最初的本源。生活中亦是如此,当我们在一条路上越走越远的时候,却忘了当时为什么出发。

以上貌似和本文内容有些不符。当然,对于我们程序员来说,不断的探索新的技术是我们自身成长所必须的。但是,了解一门技术的前世今生也许更有助于我们对其深入的探索。下面我们就来谈一谈PHP的发展过程。

PHP开始于1994年,最初产生于Rasmus Lerdorf 的一个简单的想法,当时Rasmus用C语言写了一个应用程序,这个程序就是用来追踪和维护自己的个人主页的。并且Rasmus对其又进行了扩展,使其可以应用于web表单还可以和数据库进行交互。就这样PHP的第一个版本就诞生了。Rasmus称其为“Personal Home Page/Forms Interpreter” 简称PHP/FI。

用Rasmus自己的话说:起初并不想开发一门新的编程语言,但是随着PHP/FI的发展,渐渐的就不再受他的控制了。就这样一个开发团队行程了,并且在1997年的11月发布了第二个版本 PHP/FI 2。

再往后,Zeev Suraski 和 Andi Gutmans 两个人的出现,更是使得PHP的发展走向了一个新的里程碑。在1997年,两人重新写了PHP的解释器,形成了PHP的第三个版本 PHP3,也就是在此时正式名字由PHP/FI 改为 PHP(Hypertext Preprocessor 超文本预处理器)。时隔一年,两人在1998年又重新写了PHP的核心代码,用了将近一年的时间,Zend引擎在1999年诞生了。接着在2000年5月,带有第一代zend引擎的PHP4正式发布了。随后其发展进入了一个平缓的阶段,带有第一代Zend 引擎的PHP4在2008年8月达到4.4.9以后就再没有进行后续开发,也没有任何的安全更新。我用的最早的一个PHP4的程序应该是DEDECMS了。这时PHP还是面向过程的编程方式。

在2004年6月份的时候,PHP的发展到达了第二个里程碑。带有Zend Engine II的PHP5正式发布,在这PHP5中开始支持面向对象,而且性能明显增强。直到2008年很多程序都不再支持PHP4版本了,取而代之的是PHP5,直到现在我用的版本也还是PHP5。

接着,下一个人物该出场了,他的出现使PHP从5又上升了一格成为了PHP6。他的名字叫Andrei Zmievski。当时PHP5发布以后,PHP收到了各种各样的反馈,反馈的内容就是在PHP中缺少编码转换的支持。所以在2005年的时候,由Andrei领导在PHP中嵌入了ICU库。并且使文本字符串以unicode-16的方式呈现。这一举动,对于PHP本身以及用户的编码方式都产生了大的改变,所以PHP6应运而生了。虽说,这一改变跨越很大,但是由于开发人员不能很好的理解所做的这些改变,并且向unicode-16编码(这一编码方式在web环境中很少被用到)转换会导致性能的下降,种种原因导致这一工程停滞下来。

而且在2009年发布的PHP5.3还有2010年发布的5.4几乎涵盖了所有从PHP6移植来的功能。因此在2010年这项工程停止了,直到2014年也没有被人们所接受。

在2014-2015年期间,PHP7正式发布了。最初对于PHP7的这个版本是存在一些争议的,因为先前的PHP6并没有正式发布,就夭折了,所以直接到7这个版本并不是很合适。但是在一些学术论文还有书籍中已经引用了PHP6这个名称,所以说最终人们将其定位7。对于PHP7其主要的目标就是通过重构Zend引擎,使PHP的性能更加的优化,同时保留语言的兼容性。由于是对其引擎的重构,因此PHP7的引擎目前已是第三代 Zend Engine 3。

今天PHP7已经正式发布,纵观其从诞生到发展壮大,有成功也有失败,而今天的成功又仅仅源于昨天的一个简单的想法。作为一名程序员,如果自己在现在的一个想法,多少年后也能产生如此大的成就,那岂是一个“自豪”所能表达的。类似的情况也发生在另一个人的身上,linux的奠基者linus。不管怎么说,作为一名PHP程序员,看到PHP今天的成绩自然感到高兴,自己也会在PHP的路上一直走下去,希望PHP的发展越来越好。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 PHP 中使用 MongoDB 作为文件存储

发布时间:2023/04/20 浏览次数:132 分类:MongoDB

在为大文件创建可扩展存储方面,MongoDB 及其 GridFS(使用 MongoDB 查询语言 - MQL 编写)是市场上最好的文件存储解决方案之一。 在本教程中,您将学习如何在 PHP 中使用 MongoDB 作为文件存储。

如何在 PHP 中获取时间差的分钟数

发布时间:2023/03/29 浏览次数:181 分类:PHP

本文介绍了如何在 PHP 中获取时间差的分钟数,包括 date_diff()函数和数学公式。它包括 date_diff()函数和数学公式。

PHP 中的重定向

发布时间:2023/03/29 浏览次数:133 分类:PHP

本教程演示了如何将用户从页面重定向到 PHP 中的其他页面

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便