get_class
(PHP 4, PHP 5, PHP 7)
get_class — Возвращает имя класса, к которому принадлежит объект
Описание
$object
= ?
) : string
Возвращает имя класса, экземпляром которого является
объект 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 |
До этой версии значением по умолчанию для object
было null с тем же эффектом, что и отсутствие передачи значения. Теперь
null был удален как значение по умолчанию для object
и больше не является допустимым значением.
|
Примеры
Пример #1 Использование get_class()
<?php
class foo {
function name()
{
echo "Меня зовут " , get_class($this) , "\n";
}
}
// создание объекта
$bar = new foo();
// внешний вызов
echo "Его имя " , get_class($bar) , "\n";
// внутренний вызов
$bar->name();
?>
Результат выполнения данного примера:
Его имя foo Меня зовут 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"
Смотрите также
- get_called_class() - Имя класса, полученное с помощью позднего статического связывания
- get_parent_class() - Возвращает имя родительского класса для объекта или класса
- gettype() - Возвращает тип переменной
- is_subclass_of() - Проверяет, содержит ли объект в своем дереве предков указанный класс либо прямо реализует его