php5 3新特性之延遲靜態繫結

2021-07-04 05:57:48 字數 672 閱讀 1583

基於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 的類名。當進行靜態方法呼叫時,該類名即為明確指定的那個 通常在 運算子左側部分 當進行非靜...