(PHP 4, PHP 5, PHP 7, PHP 8)
get_class — 返回對(duì)象的類(lèi)名
$object
= null
): string
返回對(duì)象實(shí)例 object
所屬類(lèi)的名字。
object
要測(cè)試的對(duì)象。如果在類(lèi)里,此參數(shù)可以省略。
返回對(duì)象實(shí)例 object
所屬類(lèi)的名字。
如果 object
不是一個(gè)對(duì)象則返回 false
。
如果在一個(gè)類(lèi)里,省略了參數(shù) object
,
則返回當(dāng)前所在類(lèi)的名稱(chēng)。
如果 object
是命名空間中某個(gè)類(lèi)的實(shí)例,則會(huì)返回帶上命名空間的類(lèi)名。
如果用其他類(lèi)型調(diào)用 get_class(),而不是一個(gè)對(duì)象的話(huà),就會(huì)產(chǎn)生 E_WARNING
級(jí)別的錯(cuò)誤。
版本 | 說(shuō)明 |
---|---|
5.3.0 起 |
object 默認(rèn)參數(shù)現(xiàn)在是 null ,所以,現(xiàn)在傳入 null 到 object 參數(shù)時(shí),和沒(méi)傳參數(shù)的結(jié)果一樣。
|
示例 #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();
?>
以上例程會(huì)輸出:
Its name is foo My name is foo
示例 #2 超類(lèi)中使用 get_class()
<?php
abstract class bar {
public function __construct()
{
var_dump(get_class($this));
var_dump(get_class());
}
}
class foo extends bar {
}
new foo;
?>
以上例程會(huì)輸出:
string(3) "foo" string(3) "bar"
示例 #3 命名空間中的類(lèi)使用 get_class()
<?php
namespace Foo\Bar;
class Baz {
public function __construct()
{
}
}
$baz = new \Foo\Bar\Baz;
var_dump(get_class($baz));
?>
以上例程會(huì)輸出:
string(11) "Foo\Bar\Baz"