首頁  >  文章  >  後端開發  >  php靜態綁定詳細敘述

php靜態綁定詳細敘述

韦小宝
韦小宝原創
2018-03-14 12:44:511262瀏覽

本篇文章簡單的敘述了PHP中的靜態綁定,對於PHP中的靜態綁定不太熟悉的同學可以一起來看看本篇關於php靜態綁定的文章哦!

後期靜態綁定工作原理是儲存了在上一個「非轉送呼叫」(non-forwarding call)的類別名稱。

  • 當靜態方法呼叫時,該類別名稱即為明確指定的那個(通常在:: 運算子左側部分);

  • 當進行非靜態方法呼叫時,即為該物件所屬的類別。

所謂的「轉送呼叫」(forwarding  call)指的是透過以下幾種方式進行的靜態呼叫 self::parent::static:: 以及forward_static_call() 。可用 get_called_class()函數來得到被呼叫的方法所在的類別名,static:: 則指出了其範圍。

self:: 的限制

使用self:: 或CLASS 對目前類別的靜態引用,取決於定義目前方法所在的類別:

範例:

class  A  {
    public static function  who () {
        echo  CLASS ;
    }
    public static function  test () {
         self :: who ();
    }
}

class  B  extends  A  {
    public static function  who () {
        echo  CLASS ;
    }
}

B :: test ();

結果:

// A

以上講述這篇文章的所有內容,大家在看過之後肯定是感覺很迷糊的,希望大家可以結合例子多看並自己實現兩篇!

相關推薦:



PHP後期靜態綁定實例分享

PHP OOP之後期靜態綁定

以上是php靜態綁定詳細敘述的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn