1.1.1 PHP 4
第1章PHP概述
从许多方面来看,PHP语言都是开源项目的典型代表,最初创建它只是为了满足一个开发人员自己的需要,在此之后又由于日益扩大的PHP社区的需求而不断改进。作为一个刚刚涉足这个领域的开发人员,对PHP的发展历程有所了解是很重要的,因为它能帮助你体会到这种语言的优势,另外从某种程度上还可以理解PHP是如何偶然地形成其独有特性的。
而且,由于这种语言如此流行,如果能了解不同版本之间的差别(尤其是版本4、5和版本6),在针对你自己的需求评价Web托管提供商和PHP驱动的应用程序时会有很大帮助。
为了帮助你尽快入门,这一章将介绍PHP的特性和不同版本之间的差别,你将了解到:
一个由加拿大开发人员开发的网页的访问量计数器如何造就了世界上最流行的脚本语言之一;
PHP的开发人员怎样一次次地改进这种语言,最终发布了迄今为止的最佳版本--PHP 5;
为什么PHP 6将使PHP在企业中的应用范围进一步扩大;
PHP的哪些特性吸引了程序员新手和专业程序员。
注解本书出版时,PHP6还只是beta测试版本,不过很多特性已经足够稳定,完全可以在本书中进行讨论。不过,需要提前声明,在发布最终版本之前其中一些特性可能会有所改变。
1.1 历史
最初的PHP要追溯到1995年,当时一个名叫RasmusLerdorf的独立程序员开发了一个Perl/CGI脚本,用来了解有多少访问者阅读了他的在线简历。他的脚本执行两项任务:将访问者信息记入日志,显示网页访问者的数量。Web虽然现在已经家喻户晓,但在当时却很年轻,所以类似的工具以前从未有过,于是有不少人向Lerdorf发送电子邮件咨询他的这个脚本。自此,Lerdorf开始分发他的工具集,并称之为个人主页(PHP,PersonalHomePage),这是PHP的第一个名字。
对PHP工具集的呼声很高,这促使Lerdorf继续开发这种语言。他增加了一个能把在HTML表单中输入的数据转换为符号变量的功能,从而允许导出到其他系统,这或许算得上是早期最突出的一次改进。为此,他选择用C而不是Perl代码来进行后续的开发。对PHP工具集的不断增补在1997年11月达到了顶峰,这时发行了PHP2.0,称之为"个人主页/表单解释器"(PHP/FI)。由于PHP不断普及,所以2.0版本中来自全世界的程序员进行大量改进。
这个新PHP版本非常流行,很快就有一个核心开发团队加入到了Lerdorf的开发当中。他们保持了原先在HTML中直接加入代码的概念,重新编写了解析引擎,这就诞生了PHP3.0,全称正式改为PHP:超文本预处理器(PHP:HypertextPreprocessor)。到1998年6月发行版本3.0为止,已经有超过5万个用户在使用PHP改进其网页。
接下来的两年中,开发继续狂热地进行着,又增加了成百上千项功能,用户数量也在飞速增长。在1999年初,Netcraft(http://http://www.zjjv.com//craft.com/)公布了一个保守的估计,称用户数已经超过了100万,这说明PHP已经成为了世界上最流行的脚本语言之一。它的广泛流传甚至超出了开发人员最乐观的期望,并且很快用户们准备用PHP开发功能更强大的应用程序。两位核心开发人员(ZeevSuraski和AndiGutmans)开始彻底重新考虑PHP的工作方式,最终改写了PHP的解析器,称之为Zend脚本引擎。这些工作的最终成果就是PHP4的发布。
注解除了领导开发Zend引擎和指导PHP语言的整体开发外,Suraski和Gutncans还共同创建了Zend技术有限公司(http://http://www.zjjv.com///)。Zend是关于开发、部署和管理PHP应用的产品和服务的主要提供商。若想了解更多关于该公司产品与服务的信息以及大量免费的学习资源请访问Zend网站。
1.1.1 PHP 4
2000年5月22日,在正式宣布开发新版本之后大约18个月,发布了PHP4.0。许多人都认为PHP4的发布是这种语言在企业级开发环境下的正式亮相,这个观点也由于PHP的迅速普及得到了佐证。仅仅在发布后的几个月内,Netcraft(http://http://www.zjjv.com//craft.com/)估计就有超过360万个域安装了PHP。
PHP 4添加了以下几项对该语言的企业级改进:
改进了资源处理。可扩展性是版本3.x的主要缺点之一,这主要是因为设计者低估了这种语言,没考虑到它会大量用于大规模应用程序。最初并没有打算用这种语言开发企业级网站,但后来确实有这样的尝试,这就使得开发人员开始重新考虑这种语言的机制。
面向对象的支持。版本4在一定程度上加入了面向对象的功能,尽管一般认为实现得不怎么样。不过,对于使用传统面向对象程序设计(OOP)语言的用户来说,这个新特性在吸引这些用户方面起到了非常重要的作用。除了对象重载和运行时类信息,PHP还支持标准类和对象开发方法。版本5支持更复杂的OOP实现,第6章将介绍这方面的内容。
内置的会话处理支持。版本3.x通过第三方包PHPLIB(http://http://www.zjjv.com//)来支持HTTP会话处理,在版本4中HTTP会话处理则是内置的功能。这个特性使得开发人员可以相当高效轻松地跟踪用户活动和偏好。第18章将介绍PHP的会话处理功能。
加密。MCrypt(http://http://www.zjjv.com//)库引入到默认发行包中,为用户提供了完全加密和散列加密,使用的加密算法包括Blowfish、MD5、SHA1和三重DES等。第21章将讨论PHP的加密功能。
ISAPI支持。对ISAPI的支持使用户能够将PHP与微软的IISWeb服务器结合使用。第2章介绍如何在IIS和ApacheWeb服务器上安装PHP。
内置COM/DCOM支持。对Windows用户来说,另一个好处是PHP4能够访问和实例化COM对象。这项功能扩展了与Windows应用程序的互操作性。
内置Java支持。这也是PHP在互操作性方面的一大进步,版本4.0支持PHP应用程序绑定Java对象。
与Perl兼容的正则表达式(PCRE)库。Perl语言一直在字符串解析领域雄霸天下,占据着统治地位。开发人员知道,如果想让PHP得到广泛认可,强大的正则表达式功能会起到重要作用。他们的做法只是集成Perl的功能,而不是重新开发,并将PCRE库的包集成在PHP的默认发行包中(版本4.2.0)。第9章将详细介绍这个重要的特性,并介绍经常引起混淆的正则表达式语法。
除了这些特性外,版本4还添加了几百项功能,大大提升了这种语言的能力。本书中,我们将讨论其中大部分功能。
在PHP语言的发展历程上,PHP4代表着一次巨大的飞跃。这个新版本带来的新功能、强大能力和可扩展性对开发新手和老手都产生了不小的震动。但PHP开发团队并不满足于长时间只拥有这一项成果,于是不久以后他们就开始着手开展另一个里程碑式的任务,要推出一门领导Web脚本领域的语言:PHP5。
【来源:51cto】
(责任编辑:和讯网站)