基於php版本: 5.3.5
php5.3 以後引入了延遲靜態繫結:
static(關鍵字) 類似於 self(關鍵字) , 但它指向的是被呼叫的類(document) 而不是包含類(domainobject) , static 和 self 的區別:
主要的作用就是,彌補了原先的不足,原先子類可以用parent找到父類物件的,現在可以在父類用static找到當前繼承它的這個子類物件,從而呼叫子類自己的靜態方法,$this可以呼叫子類自己的方法。
class a
public function what()
public static function test()
} class b extends a
} b::test();
self
是指當前類的物件,
static
是指呼叫的類的物件,
$this
也是指當前呼叫的類的物件,只是
$this
不能呼叫靜態屬性,
self
可以,而
__class__
是用於指定類的名稱,一般用於註冊類的方法使使用。
class b extends a
}
php5 3 延遲靜態繫結 static關鍵字
1 傳統模式 這段 能很好工作,但大量的重複 很煩人,不想為每個domainobject子類都建立這段相同 吧?2 34abstract class domainobject 56 class user extends domainobject712 13public static function...
PHP5 3新特性之命名空間
命名空間 namespaces php5.3最大的新功能 完全支援名字空間特徵 大部分的功能的執行在編譯時 簡化命名慣例 1 更清晰的 不使用 namespaces 2 使用 namespaces 3 乙個檔案中多個名字空間 namespace lib class mysql class sqlit...
php5 3後靜態繫結用法詳解
手冊原文 自 php 5.3.0 起,php 增加了乙個叫做後期靜態繫結的功能,用於在繼承範圍內引用靜態呼叫的類。準確說,後期靜態繫結工作原理是儲存了在上乙個 非 呼叫 non forwarding call 的類名。當進行靜態方法呼叫時,該類名即為明確指定的那個 通常在 運算子左側部分 當進行非靜...