C语言 c++ php mysql nginx linux lnmp lamp lanmp memcache redis 面试 笔记 ppt 设计模式 问题 远程连接

php 5.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

 

 

 

posted on 2014-04-08 16:22  思齐_  阅读(237)  评论(0编辑  收藏  举报