PHP 5.0的新特性

最近,读者可以从PHP 4.x版本转移到PHP 5.0版本。正如读者期望的那样,在一个新的主要版本中,它做出了一些重要变更。在这个版本中,PHP后台的Zend引擎经过了完全的重写。主要的新特性如下:

■通过一个完整的新的对象模型提供了更好的面向对象支持(请参阅第6章)。

■可扩展和可维护的错误处理——异常(请参阅第7章)。

■XML数据的简单处理——SimpleXML(请参阅第33章)。

其他变化还包括在PHP的默认安装中去除了一些扩展,并且将这些扩展放入PECL库中,改进了对流的支持以及添加了SQLite。

本书在编写时,PHP 5.2是当前最新版本,而5.3也将要发布。PHP 5.2添加了大量有用的特性,如下所示:

■新的输入过滤扩展,适用于安全性问题

■JSON扩展,更好的Javascript交互

■文件上传进度跟踪

■更好的日期和时间处理

■客户端函数库的大量更新,性能改进(包括Zend引擎中,更好的内存管理)和Bug修复

PHP 5.3的关键特性

你可能听说了PHP最新的主要发布版本PHP 6。在本书编写时,PHP 6还未发布,一些主机服务提供商还不会安装它。但是,PHP 6中的一些关键特性可以追溯到PHP 5.3版本,事实上,5.3是一个小版本的发布,基本上通过了可接受性测试,因此一些主机服务提供商安装了它(当然,如果你是主机管理员,可以安装任何喜欢的版本)。

PHP 5.3中的一些新特性如下所示(相关特性的介绍也会在本书的适当章节给出):

■名称空间的增加。更多信息,请参阅http://www.php.net/language.namespaces。

■intl扩展的增加,它为应用程序的国际化提供帮助,更多信息,请参阅http://www.php.net/manual/en/intro.intl.php。

■phar扩展的增加,它应用于创建自包含PHP应用包。更多信息,请参阅http://www.php.net/book.phar。

■fileinfo扩展的增加,它应用于文件处理的改进。更多信息,请参阅http://www.php.net/manual/en/book.fileinfo.php。

■sqlite3扩展的增加,它应用于SQLite嵌入式SQL数据库引擎。更多信息,请参阅http://www.php.net/manual/en/class.sqlite3.php。

■支持MySQLnd驱动程序,替代了libmysql;更多信息,请参阅http://forge.mysql.com/wiki/PHP_MYSQLND。

虽然以上包含了PHP 5.3版本的重要特性,但是该版本还包括了大量Bug修复以及对已有功能的改进,例如:

■删除了对早于Windows 2000的Windows操作系统的支持(例如,Windows 98和NT 4)。

■确保PCRE、Reflection和SPL扩展的启用。

■增加一些日期和时间函数,更方便于日期计算和处理。

■改进了crypt()、hash()和md5()函数的功能以及OpenSSL扩展。

■改进了php.ini管理和处理,包括更好的错误报告。

■继续对Zend引擎进行调优,实现更好的PHP运行时速度和内存的使用。