PHP 版本 4

作者:Craig Knudsen

如果您从未听说过 PHP,您当然不是孤身一人。然而,您可能访问过许多由 PHP 驱动的网站之一,例如广受欢迎的 Linux 应用程序门户 Freshmeat.net。

PHP 是一种服务器端 HTML 嵌入式脚本语言,允许开发人员构建 Web 应用程序。PHP 的功能与微软的 ASP(Active Server Pages)和 VBScript 相当。PHP 和 ASP 都是解释型脚本工具,允许 HTML 和代码在同一文件中混合使用。两者都具有用于构建数据库驱动应用程序的有效 API。然而,与 ASP 不同,PHP 是开源且跨平台的。PHP 可以在微软的 IIS Web 服务器下的 Windows NT 上运行,也可以在任何 UNIX 变体上作为 Apache 模块或 CGI 运行。

PHP,代表“Personal Home Page”,最初由 Rasmus Lerdorf 开发,作为跟踪其主页访问者的宏工具。到版本 3,它从简单的根基发展成为构建 Web 应用程序的完整工具。PHP 版本 3(通常称为“PHP3”)于 1998 年 6 月发布,主要由 Andi Gutmans 和 Zeev Suraski 开发。

从那时起,PHP 的受欢迎程度持续增长。虽然无法准确确定有多少个由 PHP 驱动的网站,但 NetCraft 的调查数据显示,超过 50 万个网站正在运行 PHP。此外,E-Soft 的 Apache 模块调查显示,超过 10 万台启用 PHP 的 Apache 服务器。E-Soft 预计 PHP 将成为 Apache 的主要附加模块,领先于 FrontPage 和 mod_perl 的扩展。

PHP 4.0 和 Zend

Andi Gutmans 和 Zeev Suraski 于 1998 年 11 月开始着手版本 4 的开发。版本 4 是对 PHP 脚本引擎的完全重写。与 PHP 3.0 不同,与 PHP 4.0 捆绑在一起的新“Zend”脚本引擎是一个独立的产品。最终,Zend 将用于其他脚本应用程序。(顺便说一句,“Zend”这个名字来源于开发人员的名字:Zeev 和 Andi。)

版本 4 中最显著的变化是速度的显著提升。Zend 团队发布了 PHP/Zend 和 ASP/VBScript 的初步基准测试。由于概念上的相似性,ASP 被认为是 PHP 的最大竞争对手。各种测试用例表明,在 Windows NT/SP4 和 IIS 下的相同硬件上,PHP/Zend 的运行速度明显快于 ASP。

性能并不是 Zend 唯一的设计问题。当被问及他对 PHP/Zend 还有哪些其他设计目标时,开发人员 Zeev 给出了以下列表:

  • 完全的平台独立性——在操作系统和 Web 服务器方面。

  • 模块化设计——PHP 4.0 被很好地拆分为多个组件,这些组件通过标准接口(编译器、执行器、Web 服务器抽象层、功能模块等)相互通信。

  • 稳定性和可扩展性(几乎是模块化设计的直接结果)。

  • 通过面向对象 (OO) 重载支持实现新的可扩展性。例如,PHP 4.0 原生支持用于访问 Windows COM 对象的 OO 语法,并且将来可能支持 CORBA 组件。

新的和改进的

PHP 4.0 包含各种新功能。将包含一个命令行交互式调试器,该调试器支持断点和单步执行脚本。截至 PHP 4.0 Beta 2,该调试器尚未发布。

还添加了对 Windows COM 对象 的支持,使开发人员可以访问各种可用的 Windows 服务器组件。

由于新的自动资源释放,资源无需在脚本中释放,因为它们在被释放后立即释放。这类似于 Java 的垃圾回收。请注意,PHP 3.0 也会自动释放资源,但要等到脚本完成处理之后。

新的语法更改包括支持 foreach 循环。此外,术语“true”和“false”现在是预定义的。现在可以实现指针,允许两个变量表示同一个变量。

新的输出缓冲允许开发人员在处理开始后中止页面。这简化了脚本中正确的错误处理。

路线图

在今年三月,面向 PHP 开发人员和少数其他赞助商发布了封闭 beta 版。PHP 4.0 的第一个公开 beta 版于 7 月发布,随后在 8 月发布了 Beta 2。

来自第一个 beta 版本的反馈非常积极。Zeev Suraski 关于 4.0 发布日期的官方说法是:“一旦 PHP 4.0 足够稳定以供用户使用,我们就会发布它。” 剩下的工作是检查所有 PHP 模块,以确保它们与 PHP 4.0 兼容。完成此操作后,PHP 4.0 应该可以发布了。最有可能的是,这将在年底之前。

资源

PHP Version 4
Craig Knudsen (cknudsen@radix.net) 居住在弗吉尼亚州费尔法克斯,并在新泽西州红岸的 ePresence, Inc. 全职远程办公担任 Web 工程师。当他不工作时,他和他的妻子 Kim 会与他们的两只约克夏犬 Buster 和 Baloo 一起放松身心。
加载 Disqus 评论