PHP 之父
PHP的历史
如今被认为是PHP的最初版本, PHP 实际上是一个名为PHP/FI的工具的替代品。它由 Rasmus Lerdorf 在1994年引入,最初的PHP是一系列使用 通用网关接口(CGI) 和 C编程语言 编写的脚本。最初用于保护他的在线简历的访问,他将这些脚本命名为 “个人主页工具” ,更为常见的称呼是 “PHP工具” 。随着时间的推移,人们需要更多的功能, Lerdorf 重新设计了他的PHP工具,使其能够提供更大更丰富的功能。这个新版本可以与数据库进行交互,为用户提供一个结构化的框架,以更快速地创建动态网页应用。在1995年6月,Lerdorf将他的PHP工具的源代码发布给全球开发者社区,允许工程师和开发者们最大限度地利用它。这进一步鼓励了用户为代码提供错误修复和改进。
1995年9月,Lerdorf 重新开发了PHP,并且放弃了这个名字。现在他将这个工具称为 FI(”Form Interpreter”的缩写) ,这个新版本包含了一些我们今天所知的PHP的基本功能。它有一些类似于Perl的变量,可以自动识别表单变量,并且支持插入HTML语法。PHP的语法类似于Perl,但更简洁、易用和复杂。实际上,为了将代码嵌入HTML文档中,开发者们必须在HTML中使用注释。然而,这种方法并没有完全被接受。FI作为一个CGI工具变得越来越受欢迎,但并不是作为一种语言。
这门语言的设计意图是为了与C语言的结构相似,这使得熟悉C、Perl和常用语言的开发者更容易接受它。然而,在1995年的下一个月,也就是10月, Lerdorf 对代码进行了全面修改。他恢复了原来的名字PHP,并将其暂时称为 “个人主页构建工具” ,只是为了展示它是目前最先进的脚本接口。
在1996年中期,之前的代码经历了一次完全改版。借用先前的更新名称,Lerdorf重新引入了PHP-FI。这个新一代的实现将PHP从一系列工具推进到了一门独立的编程语言。
它包括了预安装的DBM、mSQL、Postgres95数据库和更多功能。PHP-FI于1996年6月被命名为2.0版本。关于这个版本的有趣事实是,只有一个完整的PHP 2.0版本。当PHP 2.0终于在1997年11月从beta版本升级时,其潜在解析引擎已经被重新修改。虽然它没有持续很长时间,但在年轻开发者中的受欢迎程度和增长还是增加了。在1997年和1998年,PHP-FI拥有数千名开发者的庞大社区。而1998年的调查报告显示,大约有60000个网址包含PHP关键词,表明主机服务器基于PHP。这大约占当时互联网上所有域名的1%。尽管有这些令人惊人的数字,PHP-FI的发展注定受到限制;虽然有一些小的赞助者,但它仍然基本上是由一个人开发的。
示例PHP-FI代码
< ! - - include / text / header . html - - >
< ! - - getenv HTTP _ USER _ AGENT - - >
< ! - - ifsubstr exec _ result Mozilla - - >
Hello, you are utilizing Netscape !numentries 1 - - >
Apologies, that record you entered does not exist
user - - > ! < p >
You have < ! - - $index : 0 - - > credits left in your account.< p >
< ! - - include / text / footer . html - - >
PHP3
PHP 3.0 是一个与今天的PHP密切相似的版本。追溯到PHP – FI 2.0版本仍没有用处,缺乏预期驱动电子商务应用的亮点。以色列特拉维夫的Andi Gutmans和Zeev Suraski在 1997 年开始了对PHP基本解析器的一次彻底修订。他们通过在web上找到Lerdorf来检查当前执行的部分并重新开发PHP。为了改进解析器并扩展PHP – FI的当前客户群,Andi、Lerdorf和Zeev决定合作提升一个新的独立编程语言。这个新的编程语言以一个新名字发布,消除了PHP – FI 2.0名称所带来的个人使用限制的影响。它被重新命名为“PHP”,含义变为一个递归缩写 – PHP:超文本预处理器。
可能PHP 3.0最大的优点是其强大的可扩展性和提供给终端用户的成熟接口。多年来,协议和API的支持,扩展语言的便利性吸引了许多开发人员引入了各种模块。PHP 3.0引入的其他关键特性包括面向对象的编程支持和更强大、更可靠的语言语法。可以说,这是PHP 3.0巨大成功的关键。
在 1998 年初,来自世界各地的许多新开发人员加入了工作,新的PHP团队宣布PHP 3.0作为PHP – FI 2.0版本的正式替代品。PHP – FI 2.0的动态发展,自去年11月以来几乎停止,现在正式完成。经过大约九个月的公开测试,当宣布正式发布PHP 3.0时,它安装在全球超过70,000个领域。它并不限于POSIX兼容的操作系统。报告安装了PHP的域名中,有一小部分托管在 Windows 95、98和Macintosh服务器上 。在当时的互联网上运行的Web服务器中,PHP 3.0的安装率达到了约10%。
PHP4
在 1998 年,就在PHP 3.0正式发布之后,Andi和Zeev开始对PHP的核心进行修改。设计目标是进一步提高复杂应用程序的执行效率,并改善PHP代码库的模块化质量。PHP 3.0的新功能和对第三方数据库和API的支持使得这样的要求成为可能。然而,PHP 3.0并不适合处理这样的复杂应用程序。
新引擎名为“Zend Engine”,非常出色地实现了这些计划目标,并于1999年中旬首次推出。基于这个引擎的PHP 4.0,并结合了大量的新功能,在2000年5月正式发布,距离其前身不到两年。这个版本(PHP 4.0)的实现有了显著的改进,还包括支持更多的Web服务器、HTTP会话、缓冲、更安全地处理用户输入以及一些新的语言开发等重要特性。
PHP5
PHP 5于2004年7月发布。其核心——Zend Engine 2.0,在其核心的基础上添加了许多新功能。
PHP的开发社区包括许多开发人员,以及其他几十个从事PHP相关和支持任务的人员,例如PEAR、PECL和文档等。但仅根据以往年度的统计数据估计,可以肯定PHP现在已经安装在数万乃至数百万个域名上。
PHP 6 和 UNICODE
PHP 6作为一项由Andrei Zmievski领导的计划于2005年推出。他打算在PHP中添加Unicode支持,并通过使用国际组件Unicode(也称为ICU库)实现了这一目标。由于缺乏工作人员,该项目暂时停滞,而在此期间,PHP版本5.3于2009年发布,其后于2010年发布了带有一些UNICODE特性的PHP 5.4。