PHP5.3新特性

时间:2020-11-17 13:04:10 PHP 我要投稿

PHP5.3新特性

  1、命名空间 解决了类,函数和常量名冲突的问题

  2、静态绑定 继承时父类可以直接调用子类重写父类的方法

  class A { public static function who() { echo __CLASS__; } public static function test() { static::who(); // 后期静态绑定从这里开始 }}class B extends A { public static function who() { echo __CLASS__; }}B::test();

  3、匿名函数,也叫闭包函数(closures),允许 临时创建一个没有指定名称的函数。最经常用作回调函数

  //匿名函数做回调函数uasort($arr ,function($a, $b){})

  闭包函数也可以作为变量的值来使用

  $fn = function ($a) { echo $a;};$fn(1);

  PHP会自动把表达式转换成内置类Closure的` 对象实例

  $fn = function ($a) { echo $a;};ee($fn);/** * Closure Object( [parameter] => Array ( [$a] => ))*/

  匿名函数目前是通过Closure类来实现的。目前还不稳定,不适用于正式开发

  3、?: 操作符

  $a = 0; $b = 2;ee($a ?: $b); # 2 类似js中的 ||

  4、新增常量 __DIR_

  5、新的垃圾回收机制,解决了循环引用的问题

  gc_enable(); // 激活循环引用收集器,默认开启var_dump(gc_collect_cycles()); // 强制回收已无效的变量gc_disable(); // 禁用GC