Php/docs/function.get-class

来自菜鸟教程
跳转至:导航、​搜索

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 ,所以,现在传入 nullobject 参数时,和没传参数的结果一样。


范例

Example #1 使用 get_class()

<?phpclass foo {    function name()    {        echo "My name is " , get_class($this) , "\n";    }}// create an object$bar = new foo();// external callecho "Its name is " , get_class($bar) , "\n";// internal call$bar->name();?>

以上例程会输出:


Its name is foo
My name is foo

Example #2 超类中使用 get_class()

<?phpabstract 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()

<?phpnamespace Foo\Bar;class Baz {    public function __construct()    {    }}$baz = new \Foo\Bar\Baz;var_dump(get_class($baz));?>

以上例程会输出:


string(11) "Foo\Bar\Baz"

参见