php __CLASS__、get_class()與get_called_class()的區別


__CLASS__獲取當前的類名,

get_class()與上面一樣,都是獲取當前的類名

get_called_class()獲取當前主調類的類名

當涉及到繼承時,在方法中使用類名。直接貼圖了

MVC框架中,涉及到單例時很好用,一般在基類中

    public static function getInstance() {
        $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];
    }

其他類只要繼承這個類,然后通過getInstance()就實現了單例模式


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。