1.後期靜態綁定工作原理是儲存了在上一個「非轉送呼叫」(non-forwarding call)的類別名稱。當進行靜態方法呼叫時,該類別名稱即為明確指定的那個(通常在 :: 運算子左側部分);當進行非靜態方法呼叫時,即為該物件所屬的類別。此功能從語言內部角度考慮被命名為「後期靜態綁定」。 「後期綁定」的意思是說,static:: 不再被解析為定義當前方法所在的類,而是在實際運行時計算的。
2.測試範例:
class A{ public function run() { static::test(); //后期静态绑定 self::test(); //不是后期静态绑定 } public static function test() { echo 'A Class<br>'; }}class B extends A { public static function test() { echo 'B Class<br>'; }} $a = new B();$a->run(); //输出结果 //B Class //A Class
相關推薦:
以上是PHP後期靜態綁定實例分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!