get_class
(PHP 4, PHP 5, PHP 7, PHP 8)
get_class — 返回對象的類名
說明
   get_class(object 
  $object = null): string
   返回對像實例 object 所屬類的名字。
  
參數
- 
object
- 
      要測試的對象。如果在類里,此參數可以省略。 
返回值
   返回對像實例 object
   所屬類的名字。
   如果 object 不是一個對像則返回 false。
  
   如果在一個類里,省略了參數 object,
   則返回目前所在類的名稱。
  
    如果 object 是名稱空間中某個類的實例,則會返回帶上名稱空間的類名。
  
錯誤/異常
   如果用其他型別呼叫 get_class(),而不是一個對象的話,就會產生 E_WARNING 級別的錯誤。
  
更新日誌
| 版本 | 說明 | 
|---|---|
| 5.3.0 起 | object預設參數現在是null,所以,現在傳入null到object參數時,和沒傳參數的結果一樣。 | 
範例
示例 #1 使用 get_class()
<?php
class foo {
    function name()
    {
        echo "My name is " , get_class($this) , "\n";
    }
}
// create an object
$bar = new foo();
// external call
echo "Its name is " , get_class($bar) , "\n";
// internal call
$bar->name();
?>
以上例程會輸出:
Its name is foo My name is foo
示例 #2 超類中使用 get_class()
<?php
abstract class bar {
    public function __construct()
    {
        var_dump(get_class($this));
        var_dump(get_class());
    }
}
class foo extends bar {
}
new foo;
?>
以上例程會輸出:
string(3) "foo" string(3) "bar"
示例 #3 名稱空間中的類使用 get_class()
<?php
namespace Foo\Bar;
class Baz {
    public function __construct()
    {
    }
}
$baz = new \Foo\Bar\Baz;
var_dump(get_class($baz));
?>
以上例程會輸出:
string(11) "Foo\Bar\Baz"
參見
- get_called_class() - 後期靜態繫結("Late Static Binding")類的名稱
- get_parent_class() - 檢索對像或者類的父級類名
- gettype() - 獲取變數的型別
- is_subclass_of() - 如果此對象是該類的子類,則返回 true