首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

get_class

(PHP 4, PHP 5, PHP 7)

get_class - 返回一个对象的类的名称

描述

代码语言:javascript
复制
string get_class ([ object $object ] )

获取给定类的名称object

参数

object

被测试的对象。在类内部时可以省略此参数。

:明确地传递NULLobject不再允许作为PHP 7.2.0的。该参数仍然是可选的,并且在类中没有参数的情况下调用 get_class()将会起作用,但NULL现在传递将发出E_WARNING通知。

返回值

返回其object实例的类的名称。FALSE如果object不是对象,则返回。

如果object在类内部被省略,则返回该类的名称。

如果object是存在于名称空间中的类的实例,则返回该类的限定名称空间名称。

错误/异常

如果使用除对象以外的任何其他对象调用get_class()E_WARNING则会引发级别错误。

更新日志

Version

Description

7.2.0

NULL was removed as the default value for object, and is no longer a valid input.

5.3.0

NULL became the default value for object, so passing NULL to object now has the same result as not passing any value.

例子

Example#1 使用 get_class()

代码语言:javascript
复制
<?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();

?>

上面的例子将输出:

代码语言:javascript
复制
Its name is foo
My name is foo

Example#2 在超类中使用 get_class()

代码语言:javascript
复制
<?php

abstract class bar {
    public function __construct()
    {
        var_dump(get_class($this));
        var_dump(get_class());
    }
}

class foo extends bar {
}

new foo;

?>

上面的例子将输出:

代码语言:javascript
复制
string(3) "foo"
string(3) "bar"

Example#3 将 get_class()与命名空间类一起使用

代码语言:javascript
复制
<?php

namespace Foo\Bar;

class Baz {
    public function __construct()
    {

    }
}

$baz = new \Foo\Bar\Baz;

var_dump(get_class($baz));
?>

上面的例子将输出:

代码语言:javascript
复制
string(11) "Foo\Bar\Baz"

同样参阅

  • get_called_class() - “后期静态绑定”类名称
  • get_parent_class() - 检索对象或类的父类名称
  • gettype() - 获取变量的类型
  • is_subclass_of() - 检查对象是否将此类作为其父项之一或实现它。

← get_class_vars

get_declared_classes →

扫码关注腾讯云开发者

领取腾讯云代金券