PHP5.3新特性

才智咖 人氣:2.78W

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

TAGS:php53