在线文档教程
PHP
类和函数 | Classes and Functions

get_class

get_class

(PHP 4, PHP 5, PHP 7)

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

描述

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则会引发级别错误。

更新日志

VersionDescription
7.2.0NULL was removed as the default value for object, and is no longer a valid input.
5.3.0NULL 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()

<?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() - “后期静态绑定”类名称

  • get_parent_class() - 检索对象或类的父类名称

  • gettype() - 获取变量的类型

  • is_subclass_of() - 检查对象是否将此类作为其父项之一或实现它。

← get_class_vars

get_declared_classes →