酣然大波。然而,这些变化在5.1.1中被还原以防止出现pear::date冲突。 ·如今,闪电般登场的PDO成为PHP核心的一部分。要更多地了解与PHP相关的抽象层知识,可以参考《Database Abstraction in PHP》或者PHP网站上的官方档案。 ·PDO MySQL驱动程序现在成为存取MySQL的推荐方法-在缺省情况下,并不启用老式的mysqli和mysql扩展。 ·PHP 5.1比5.0版本在性能上也大大改进。 ·如前所提及的,日期/时间支持在5.1.0版本中被重写,而在5.1.1版中又被还原。也许以后不久还会有所变化-尽管都是经过仔细计划的。 ·在PHP 5.0到PHP 5.0.4版本阶段,是支持抽象的私有方法的。然而,现在它们都被取消了。 ·现在,不允许重复声明一个类常量。下面代码在5.1中不会工作并将抛出一个E_ERROR错误。
<?php class anything { const const_name = 'value'; const const_name = 'value2'; } ?>
·14个更旧的扩展被从PHP核心删除。这些包括 ext/cpdf,ext/dbx,ext/dio,ext/fam,ext/ingres_ii,ext/ircg,ext/mcve,ext/mnogosearch,ext/oracle, ext/ovrimos,ext/pfpro,ext/w32api,ext/yp,sapi/activescript。所有这些还可用于PECL中,尽管并不是所有这些扩展都能得到积极维护。 ·在参考引用的管理上也有所变化。以前我们可以以参考引用方式发送、赋值或返回变量-其实它们应该以值的形式返回。这些包括常数、自身以值形式返回的函数或一个表达式的结果。这里有一个例子:
<?php $var1 = "value"; function return_val() { global $var_name; return $var_name; } $var2 = &return_val(); ?>
这段代码过去是可以工作的(直到5.0.4版本),但是现在在5.1版本中会抛出一个E_STRICT异常。 也许5.1.x不久也会退场,但是其中引入了许多有价值的改进-PDO的引入可能是最值得称道的。要详细了解PHP文档中的更改日志,可以看一下这里有关PHP 5.1(和早些版本)变化的详尽列表。
三、PHP 6.0中要作的改变 PHP 6.0估计会是一个相当激动人心的发行。然而,什么东西都是一分为二的。不过,看起来最令我气恼的三个家伙(register_globals,magic_quotes_gpc和safe_mode)可能要退位了。第一个存在一个很大的安全漏洞;第二个由于操作大量数据所以在改变环境时简直就是一场梦魇;而第三个是一个无人能理解的错误的名称并且会给人带来一种安全方面的错觉。在Unicode问题上,还有大量的工作要做。下面是预计的一些新变化: ·register_globals,safe_mode和各种魔术引用选项将被删除。
·ereg扩展将被删除,而XMLReader,XMLWriter和Fileinfo扩展将被添加到内核上并且在缺省情况下为on状态。 我发现的另外一处令人激动的新变化是,APC(Alternative PHP Cache)将被添加到内核上,尽管在缺省情况下为off状态。APC可以为开发者提供严谨的性能益处。 ·所有的E_STRICT消息将被合并进E_ALL-这又是针对良好编程实践所作出的一个积极更改。 ·不再支持ASP风格的标签<%。 ·引入了新的64位整型数。当前的整数类型被保留下
上一页 [1] [2] [3] 下一页 |