php後期靜態繫結

2021-08-26 09:29:21 字數 642 閱讀 1263

後期靜態繫結:static:: 不再被解析為定義當前方法或屬性所在的類,而是在實際執行時計算的

可用 get_called_class() 函式來得到被呼叫的方法所在的類名

this是指向當前物件

self::指向當前的類  self就是寫在哪個類裡面, 實際呼叫的就是這個類

parent::指向父類

static指向執行類    static代表使用的這個類, 就是你在父類裡寫的static,然後被子類覆蓋,使用的就是子類的方法或屬性

class animal 

public static function what_animal()

public static function check()

}class dog extends animal

public static function check()

}dog::what_animal();

/*dog

this is a animal

this is a dog

*/$dog = new dog();

/*dog

我是動物類

我是狗類

*/

php中後期靜態繫結(延遲靜態繫結)技術

定義乙個父類 這就要用到後期靜態繫結的技術,所謂後期,是指靜態方法的呼叫者,只有在執行狀態下才進行動態繫結,使用關鍵字 static 來實現,此時,static 就像乙個變數,始終與當前的呼叫類是繫結的class father 靜態方法 訪問當前類中的其它靜態成員 public static fun...

PHP高階特性 後期靜態繫結

後期繫結 的意思是說,static 不再被解析為定義當前方法所在的類,而是由最終運算時動態決定。也可以稱之為 靜態繫結 因為它可以用於 但不限於 靜態方法的呼叫。class a publicstaticfunction test class b extends a b test 輸出 class a...

PHP後期靜態繫結理解

最近遇到乙個php手冊上的例子,自己掃了一眼,做錯了,mark一下 class a public static function who class b extends a public static function who class c extends b c test 對 呼叫和非 呼叫不理...