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

<?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"

参见

关注编程学问公众号