首頁 > 後端開發 > php教程 > PHP中的後期綁定

PHP中的後期綁定

WBOY
發布: 2016-07-29 09:10:45
原創
1232 人瀏覽過

先看一個例子:

<code><?php
    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();
?></code>
登入後複製

輸出:

<code>A
</code>
登入後複製

如果使用後期綁定:

<code><?php
    class A {
        public static function who() {
            echo __CLASS__;
        }
        public static function test() {
            static::who(); // 后期静态绑定从这里开始
        }
    }
    
    class B extends A {
        public static function who() {
            echo __CLASS__;
        }
    }
    
    B::test();
?></code>
登入後複製

輸出:

<code>B
</code>
登入後複製

使用self:: 或者CLASS 對當前類別的靜態引用,取決於當前方法所在方法所在的類別,而不是呼叫者所在的類別。

「後期綁定」的意思是說,static:: 不再被解析為定義當前方法所在的類,而是在實際運行時計算的。也可以稱之為“靜態綁定”,因為它可以用於(但不限於)靜態方法的呼叫。

以上就介紹了 PHP中的後期綁定,包括了靜態方法方面的內容,希望對PHP教程有興趣的朋友有所幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板