服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - PHP教程 - PHP5.3新特性小结

PHP5.3新特性小结

2020-12-20 17:35思齐_ PHP教程

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

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

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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),允许 临时创建一个没有指定名称的函数。最经常用作回调函数

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

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

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

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

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

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

3、?: 操作符

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

4、新增常量 __DIR_

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

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

希望本文所述对大家PHP程序设计有所帮助。

延伸 · 阅读

精彩推荐