技术开发 频道

初步了解 PHP V6 中的新特性

  引擎的添加内容

  在 PHP V6,将添加 64 位的整数,同时保留 32 位整数。64 位引擎的转换名为 int64。将使用一个静态标签扩展 break 关键字。将从 ?: 操作符丢弃中间参数。例如,在下面的表达式中,如果 $_GET['var'] 计算为 true,则 $var 设置为 3。如果 $_GET['var'] 计算为 false 或没有设置,则 $var 设置为 $_GET['var']。

 

  $var = $_GET['var'] ?: 3;

  如果 $_GET['var'] 没有设置,将抛出 E_NOTICE。PHP V6 将规定对多维数组使用 foreach 语法。  

$a = array(array(1, 2), array(3, 4));

  foreach( $a
as $k => list($a, $b)) {}

  ?
>

  在 PHP V5 中,{} 和 [] 都可用于访问字符串和数组元素中的字符。在 PHP V6 中,将删除 {},并且继续使用 [],而 [] 操作符将支持 substr()/array_slice() 函数。在 PHP V6 中,microtime() 在默认情况下返回一个浮点值。  

  OO 函数

  在 PHP V6 中对 OO 函数进行了一些改进。添加了关键字 static:: 用于延迟静态绑定,这意味着将执行运行时静态数字计算。

  支持名称空间

  PHP V5 不支持名称空间,而是在一个全局名称空间中定义所有函数和变量。PHP V6 通过关键字 namespace 添加对名称空间的支持。为了定义一个已经定义的类名或函数名,必须使用名称空间将新的类或函数与已经存在的类或函数区分开来。XMLReader 是一个已经存在的类,但是假设您仍然想定义另一个 XMLReader。您应该这样定义 XMLReader 类:  

 namespace XmlNamespace { class XMLReader { }}

  $reader
= new XmlNamespace\XMLReader();

  $reader2
= new XMLReader();

  ?
>

  为了在 XmlNamespace 中调用 XMLReader 类,需要使用前缀 XmlNamespace\。名称空间中可以包含类和函数,但不能包含变量。

0
相关文章