溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP實現(xiàn)類名獲取以及實現(xiàn)單例模式的方法有哪些

發(fā)布時間:2020-10-16 14:50:26 來源:億速云 閱讀:119 作者:小新 欄目:編程語言

這篇文章主要介紹PHP實現(xiàn)類名獲取以及實現(xiàn)單例模式的方法有哪些,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

獲取類名的幾種方式

1.__CLASS__:獲取當前的類名

2.get_class():返回對象的類名

3.get_called_class():后期靜態(tài)綁定("Late Static Binding")類的名稱,即靜態(tài)方法調用者的類名

<?php

class foo {
    static public function test() {
        echo "foo.__CLASS__:".__CLASS__."\n";
        echo "foo.get_class:".get_class()."\n";
        echo "foo.get_called_class:".get_called_class()."\n";
    }
}

class bar extends foo {
    
}

foo::test();
echo "\n";
bar::test();
?>

結果:

//結果
foo.__CLASS__:foo
foo.get_class:foo
foo.get_called_class:foo

foo.__CLASS__:foo
foo.get_class:foo
foo.get_called_class:bar

單例模式:確保一個類只有一個實例,而且自行實例化并向整個系統(tǒng)提供這個實例。

<?php

//通過get_called_class實現(xiàn)單例模式

class Singleton{
   
   private static $instance; 
  
    public static function getInstance() {  //靜態(tài)共有方法實例化對象
        $class_name = get_called_class();
        if (isset(self::$instance[$class_name])) {
            return self::$instance[$class_name];
        }
        self::$instance[$class_name] = new $class_name;
        return self::$instance[$class_name];
    }
}
?>

以上是PHP實現(xiàn)類名獲取以及實現(xiàn)單例模式的方法有哪些的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

php
AI