(PHP 4, PHP 5, PHP 7)
get_class — Возвращает имя класса, к которому принадлежит объект
$object
] )
Возвращает имя класса, экземпляром которого является
объект object
.
object
Тестируемый объект. Внутри класса этот параметр может быть опущен.
Замечание: Начиная с PHP 7.2.0, явная передача
NULL
вobject
запрещена. Параметр все еще опциональный и вызов get_class() без этого параметра внутри класса будет работать, но явная передачаNULL
теперь приведет к ошибке уровняE_WARNING
.
Возвращает имя класса, к которому принадлежит экземпляр object
.
Возвращает FALSE
, если object
не является
объектом.
Если параметр object
опущен внутри класса,
будет возвращено имя этого класса.
Если параметр object
является экземпляром класса,
существующего в пространстве имен, то будет возвращено полное имя
с указанием пространства имен.
Если get_class() будет вызвана с чем-то другим,
не являющимся объектом, будет вызвана ошибка уровня
E_WARNING
.
Версия | Описание |
---|---|
7.2.0 |
NULL более не является значением по умолчанию для object
и не является допустимым значением этого параметра.
|
5.3.0 |
NULL стал значением по умолчанию для параметра object ,
поэтому передача NULL в object теперь имеет
тот же самый эффект, как и отсутствие какой-либо передачи
вообще.
|
Пример #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"