php最初是作为一个快速、实用的工具包出现的。1994年,为了在自己的网站上增加一个小巧而实用的访客追踪系统,rasmus lerdorf编写了php的雏形程序。这是一个用perl封装的简单工具。由于使用效果并不理想,rasmus又用c语言重写了这个工具。
后来,更多的人注意到这个轻巧而简便的程序,并且要求增加更多的功能。rasmus决定发布一个完整的版本,将其命名为personal home page tools。后来,rasmus又发布了一个名为fi的可以做sql查询的工具。
php2
1996年rasmus发布了php/fi2.0,这是一个基本完善的php程序包。它不仅可以访问数据库,而且可以嵌入html页面。此时,php/fi2.0 以及吸引了大量的程序开发人员。在众多程序员之中,也包括了zeev suraski和andi gutmans,他们就是后来php3的始作者。由于不满足于php/fi在大型项目中的表现,zeev和andi作了重大的改进。
php3
1998年末,php3的第一个官方正式版本发行,其特色是具有更好的执行效果以及更清晰的结构。除此之外,php3的强大的功能还在于它的可扩展性。除了给最终用户提供数据库、协议和api的基础结构,它的可扩展性吸引了大量的开发人员加入并提交新的模块。
这个全新的语言伴随着一个新的名称发布。这个名称更具广泛意义,而不仅局限于“个人主页工具”的概念。它被命名为简单的缩写“php”。这是一种递归的缩写,它的全称是——php:hypertext preprocessor。
不久,zeev suraski和andi gutmans投入到了全新的php的开发之中。设计目标是增强程序运行性能和php自身代码的模块性。
php4
新的php核心被成为“zend” (以zeev和andi的名字命名)引擎,于2000年5月随着新版php4.0发布。php4的性能较php3有着显著的提高。相同的脚本在php4中运行,最高可以有近10倍的性能提升。并且zend提供了的脚本优化器,可以把源程序转为二进制编译代码,提高性能的同时,也保护了程序源码不被暴露。
在php4中增加了对各种web服务器(如apache、iis/pws及omnihttpd 等)的支持。此外,php4还增加了一些新的语言特性,如丰富的数组操作函数、完整的会话机制、对输出缓存的支持等。php4也对一些跨平台的技术提供了扩展支持,如对adobe pdf、swf、java、microsoft.net等技术的支持。
php4还增加了对类于对象的支持。尽管php4在这方面并不完善,但还是大大改善了对面向对象程序设计的支持。php4中的pear库(php extension and application repository)就是面向对象的应用与实践的最好例证。
php5
尽管php4的发展是如此迅猛,但较之于其他流行的开发语言还是缺乏一些关键的功能特性,比如,php4中的面向对象功能并不完善,也无法实现异常(exception)的捕捉与处理。因此在一些特殊问题的处理上还是捉襟见肘的。
2004年7月,php5正式版本的发布,标志着一个全新的php时代的到来。它的核心是第二代zend引擎,并引入了对全新的pecl模块的支持。php5的最大特点是引入了面向对象的全部机制,并且保留了向下的兼容性。程序员不必再编写缺乏功能性的类,并且能够以多种方法实现类的保护。另外,在对象的集成等方面也不再存在问题。使用php5引进了类型提示和异常处理机制,能更有效的处理和避免错误的发生。
