哈希空间 Ctrl + F 进行搜索
首页 php手册中文版 CSS中文手册 哈希文档 Markdown在线工具

PHP get 组件

get_class

(PHP 4, PHP 5, PHP 7, PHP 8)

get_class返回对象的类名

说明

get_class(object $object = ?): string

返回指定 object 的类名。

参数

object

要测试的对象。如果在类里,此参数可以省略。

注意: 自 PHP 7.2.0 起,object 不再允许显式传递 null 并抛出 E_WARNING。自 PHP 8.0.0 起,传递 null 会抛出 TypeError

返回值

返回 object 实例的类名。

如果在类中省略 object, 则返回当前所在类的名称。

如果 object 是命名空间中某个类的实例,则会返回带上命名空间的类名。

错误/异常

如果用除对象外的其它类型调用 get_class(),则会引发 TypeError。在 PHP 8.0.0 之前,会引发 E_WARNING 级别的错误。

如果在类外不带任何参数调用 get_class(),会引发 Error。在 PHP 8.0.0 之前,会引发 E_WARNING 级别的错误。

更新日志

版本 说明
8.0.0 在类外不带任何参数调用此函数将会触发 Error。之前会引发 E_WARNING 并且函数会返回 false
7.2.0 在此版本之前,object 的默认值是 null,它与不传递任何值有相同的效果。object 已经移除了默认值 null 且不再是有效的输入。

范例

示例 #1 使用 get_class()

<?php

class foo {
    function 
name()
    {
        echo 
"My name is " get_class($this) , "\n";
    }
}

// 创建对象
$bar = new foo();

// 类外调用
echo "Its name is " get_class($bar) , "\n";

// 类内调用
$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"

参见

打开 哈希空间 微信小程序中查看更佳