萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php5.3 注意事項說明

php5.3 注意事項說明

php5.3
新特性
1.支持命名空間(namespace)
5.3以前

復制代碼 代碼如下:
<?php
class Zend_Db_Table_Select {
//表示當前這個類文件位於Zend/Db/Table下
}


5.3

復制代碼 代碼如下:
<?php
namespace Zend/Db/Table
class Select {
}


2.支持延遲靜態綁定
5.3以前(__CLASS__獲得類名)self::who()

復制代碼 代碼如下:
<?php
class A {
public static function who() {
echo __CLASS__;
}
public static function test() {
self::who();
}
}
class B extends A {
public static function who() {
echo __CLASS__;
}
}
B::test();
?>


輸出A
5.3(__CLASS__獲得類名)static::who();

復制代碼 代碼如下:
<?php
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();
?>


輸出B

3.支持goto語句
多數計算機程序設計語言中都支持無條件轉向語句goto,當程序執行到goto語句時,即轉向由goto語句中的標號指出的程序位置繼續執行。

4.支持閉包

復制代碼 代碼如下:
<?php
$msg = "hello";
$callback = function() use($msg){
print_r($msg);
}
$msg = "hello world!";
callback($callback);


輸出
hello
hello world!

5.新增魔術方法__callStatic()
PHP中原本有一個魔術方法__call(),當代碼調用對象的某個不存在的方法時該魔術方法會被自動調用。
新增的__callStatic()方法則只用於靜態類方法。當嘗試調用類中不存在的靜態方法時,__callStatic()魔術方法將被自動調用。

6.新增一種常量定義方式(有時代碼出錯,如undefined HE,你要看看是否支持const)

復制代碼 代碼如下:


<?php
const CONSTANT = 'Hello World';

copyright © 萬盛學電腦網 all rights reserved