(PHP 4, PHP 5, PHP 7)
get_class — 返回对象的类名
$obj
] )
返回对象实例 obj
所属类的名字。如果 obj
不是一个对象则返回 FALSE
。
Note: 在 PHP 扩展库中定义的类返回其原始定义的名字。在 PHP 4 中 get_class() 返回用户定义的类名的小写形式,但是在 PHP 5 中将返回类名定义时的名字,如同扩展库中的类名一样。
Note:
自 PHP 5 起,如果在对象的方法中调用则
obj
为可选项。
Example #1 使用 get_class()
<?php
class foo {
function foo()
{
// implements some logic
}
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
object
The tested object. This parameter may be omitted when inside a class.
Returns the name of the class of which object
is an
instance. Returns FALSE
if object
is not an
object.
If object
is omitted when inside a class, the
name of that class is returned.
If get_class() is called with anything other than an
object, an E_WARNING
level error is raised.
版本 | 说明 |
---|---|
Since 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.
|
Since 5.0.0 | The class name is returned in its original notation. |
Since 5.0.0 |
The object parameter is optional if called
from the object's method.
|
Example #2 Using 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 #3 Using get_class() in superclass
<?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"