当前位置:首页 > PHP文摘 > 列表

PHP5.3新特性小结

发布:smiling 来源: PHP粉丝网  添加日期:2021-07-09 15:36:07 浏览: 评论:0 

这篇文章主要介绍了PHP5.3新特性,结合实例总结分析了PHP5.3新增的命名空间、静态绑定、匿名函数、操作符及垃圾回收机制的相关技巧,需要的朋友可以参考下。

本文总结分析了PHP5.3新特性,分享给大家供大家参考,具体如下:

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

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

  1. class A { 
  2.   public static function who() { 
  3.     echo __CLASS__
  4.   } 
  5.   public static function test() { 
  6.     static::who(); // 后期静态绑定从这里开始 
  7.   } 
  8. class B extends A { 
  9.   public static function who() { 
  10.     echo __CLASS__
  11.   } 
  12. B::test(); 

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

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

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

  1. $fn = function ($a) { 
  2.   echo $a
  3. }; 
  4. $fn(1); 

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

  1. $fn = function ($a) { 
  2.   echo $a
  3. }; 
  4. ee($fn); 
  5. /** 
  6.  * Closure Object 
  7. ( 
  8.   [parameter] => Array 
  9.     ( 
  10.       [$a] =>  
  11.     ) 
  12. ) 
  13. */ 

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

3、?: 操作符

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

4、新增常量 __DIR_

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

gc_enable(); // 激活循环引用收集器,默认开启

var_dump(gc_collect_cycles()); // 强制回收已无效的变量

gc_disable(); // 禁用GC

Tags: PHP5 3新特性

分享到: