get_class
(PHP 4, PHP 5, PHP 7)
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 参数时,和没传参数的结果一样。 |
范例
Example #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
Example #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"
Example #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