php的延遲靜態繫結

2021-07-07 09:02:56 字數 528 閱讀 3794

先說下定義:就是把本類在定義階段固定下來的表示式或者變數,改在執行階段才決定。

這個是為了解決下面**的問題才引入的:

class

parents

}class

child

extends

parents

echo child::render(); // parents

可以看到我們使用self關鍵字只能夠訪問到該類中的靜態變數,這種是不能被繼承的,於是php在5.3版本中引入了延遲靜態變數,主要運用了static關鍵字。

class

parents

}class

child

extends

parents

echo child::render(); // child

這樣就可以訪問到我們子類中的變數了,這個關鍵字的作用類似於js的this關鍵字,js就是通過this來進行延遲繫結的。

PHP延遲靜態繫結

1 self用法 self是指向定義它的當前類的指標。當前類 current class class person 獲取年齡 public static function getage 輸出 self name i am person self age 18 2 static用法 static是指向...

PHP延遲靜態繫結

所謂延遲靜態繫結,顧名思義,靜態呼叫時 符號左側的部分的的繫結是延遲,也就是說不再被解析為定義當前方法所在的類,而是在實際執行時計算的。class people public static function eat class fatguy extends people public static ...

PHP靜態延遲繫結

php版本5.3起增加了靜態延遲繫結,也稱遲繫結,主要用於在繼承範圍內引用靜態呼叫的類。簡單地來說 static 不再被解析為當前方法所定義的類,而是在實際執行時計算的。意外的繼承 class person class man extends person echo man say person在這...