查詢

get_called_class()函式—用法及示例

「 返回撥用該方法的類名 」


函式名稱:get_called_class()

適用版本:PHP 5 >= 5.3.0, PHP 7

函式描述:get_called_class() 函式返回撥用該方法的類名。

用法: get_called_class() 函式在靜態方法中返回該靜態方法被呼叫時的類名,而在非靜態方法中返回該非靜態方法所屬的物件的類名。如果該方法被呼叫時沒有物件,則返回空字串。

示例:

  1. 在靜態方法中使用get_called_class():
class MyClass {
    public static function getClassName() {
        return get_called_class();
    }
}

class MyChildClass extends MyClass {}

echo MyChildClass::getClassName(); // 輸出:MyChildClass
  1. 在非靜態方法中使用get_called_class():
class MyClass {
    public function getClassName() {
        return get_called_class();
    }
}

class MyChildClass extends MyClass {}

$obj = new MyChildClass();
echo $obj->getClassName(); // 輸出:MyChildClass

注意事項:

  • get_called_class() 函式只能在類的方法中使用,不能在類的外部使用。
  • 如果該方法是在一個名稱空間中被呼叫,將返回完全限定的類名。
  • 如果該方法是在一個 trait 方法中被呼叫,將返回 trait 的名稱。
  • 如果該方法是在一個匿名類中被呼叫,將返回一個包含類的檔名和行號的字串。
  • 在 PHP 5.3.0 之前的版本中,使用 get_class($this) 來獲取當前類名。
補充糾錯
上一個函式: get_cfg_var()函式
下一個函式: get_browser()函式
熱門PHP函式
分享連結