熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PHP編程 >> 正文

PHP延遲靜態捆綁Late Static Bindings

2022-06-13   來源: PHP編程 
看了一下PHP的Late Static Bindings簡單了翻譯一下
Late Static Bindings是在PHP中加入的新特性拼音來說就是把本來在定義階段固定下來的表達式
或變量改在執行階段才決定比如當一個子類繼承了父類的靜態表達式的時候它的值並不能被改變
時不希望看到這種情況
<?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();//輸入A
?>
但是現在我想讓其輸出B那麼使用Late Static Bindings可實現這一特性了
<?php
class A {
    public static function who() {
        echo __CLASS__;
    }
    public static function test() {
        static::who(); // Late Static Bindings     
    }
}
class B extends A {      
    public static function who() {
         echo __CLASS__;
    }
}  
B::test();//輸出B
?>
From:http://tw.wingwit.com/Article/program/PHP/201404/30629.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.