ReflectionClass::isInstance
(PHP 5, PHP 7)
ReflectionClass::isInstance — Проверяет, принадлежит ли объект классу
Описание
public bool ReflectionClass::isInstance
( object
$object
)Проверяет, является ли объект экземпляром класса.
Список параметров
-
object
-
Проверяемый объект.
Возвращаемые значения
Возвращает TRUE
в случае успешного завершения или FALSE
в случае возникновения ошибки.
Примеры
Пример #1 Пример использования ReflectionClass::isInstance() и его аналогов
<?php
// Пример использования
$class = new ReflectionClass('Foo');
if ($class->isInstance($arg)) {
echo "Yes";
}
// Аналогично этому
if ($arg instanceof Foo) {
echo "Yes";
}
// Аналогично этому
if (is_a($arg, 'Foo')) {
echo "Yes";
}
?>
Результатом выполнения данного примера будет что-то подобное:
Yes Yes Yes
Смотрите также
- ReflectionClass::isInterface() - Проверяет, является ли класс интерфейсом
- Операторы проверки типа (instanceof)
- Интерфейсы объектов
- is_a() - Проверяет, принадлежит ли объект к данному классу или содержит данный класс в числе своих предков
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения, относящиеся к переменным и типам
- Reflection
- Функция ReflectionClass::__construct() - Создаёт объект класса ReflectionClass
- Функция ReflectionClass::export() - Экспортирует класс
- Функция ReflectionClass::getConstant() - Возвращает определенную константу
- Функция ReflectionClass::getConstants() - Возвращает константы
- Функция ReflectionClass::getConstructor() - Возвращает конструктор класса
- Функция ReflectionClass::getDefaultProperties() - Возвращает свойства по умолчанию
- Функция ReflectionClass::getDocComment() - Возвращает doc-блоки комментариев
- Функция ReflectionClass::getEndLine() - Возвращает номер последней строки
- Функция ReflectionClass::getExtension() - Возвращает объект класса ReflectionExtension для расширения, определенного в классе
- Функция ReflectionClass::getExtensionName() - Возвращает имя расширения, определенного в классе
- Функция ReflectionClass::getFileName() - Возвращает имя файла, в котором объявлен класс
- Функция ReflectionClass::getInterfaceNames() - Возвращает имена интерфейсов
- Функция ReflectionClass::getInterfaces() - Возвращает интерфейсы
- Функция ReflectionClass::getMethod() - Возвращает экземпляр ReflectionMethod для метода класса
- Функция ReflectionClass::getMethods() - Возвращает список методов в виде массива
- Функция ReflectionClass::getModifiers() - Возвращает информацию о модификаторах класса
- Функция ReflectionClass::getName() - Возвращает имя класса
- Функция ReflectionClass::getNamespaceName() - Возвращает название пространства имён
- Функция ReflectionClass::getParentClass() - Возвращает родительский класс
- Функция ReflectionClass::getProperties() - Возвращает свойства
- Функция ReflectionClass::getProperty() - Возвращает экземпляр ReflectionProperty для свойства класса
- Функция ReflectionClass::getShortName() - Возвращает короткое имя
- Функция ReflectionClass::getStartLine() - Возвращает номер начальной строки
- Функция ReflectionClass::getStaticProperties() - Возвращает static свойства
- Функция ReflectionClass::getStaticPropertyValue() - Возвращает значение static свойства
- Функция ReflectionClass::getTraitAliases() - Возвращает массив trait-псевдонимов
- Функция ReflectionClass::getTraitNames() - Возвращает массив trait-имён, задействованных в этом классе
- Функция ReflectionClass::getTraits() - Возвращает массив traits, задействованных в этом классе
- Функция ReflectionClass::hasConstant() - Проверяет, задана ли константа
- Функция ReflectionClass::hasMethod() - Проверяет, задан ли метод
- Функция ReflectionClass::hasProperty() - Проверяет, задано ли свойство
- Функция ReflectionClass::implementsInterface() - Проверяет, реализуется ли интерфейс
- Функция ReflectionClass::inNamespace() - Проверяет, определён ли класс в пространстве имён
- Функция ReflectionClass::isAbstract() - Проверяет, является ли класс абстрактным
- ReflectionClass::isAnonymous
- Функция ReflectionClass::isCloneable() - Проверяет, можно ли клонировать этот класс
- Функция ReflectionClass::isFinal() - Проверяет, является ли класс окончательным (final)
- Функция ReflectionClass::isInstance() - Проверяет, принадлежит ли объект классу
- Функция ReflectionClass::isInstantiable() - Проверяет, можно ли создать экземпляр класса
- Функция ReflectionClass::isInterface() - Проверяет, является ли класс интерфейсом
- Функция ReflectionClass::isInternal() - Проверяет, является ли класс встроенным в расширение или в ядро
- Функция ReflectionClass::isIterateable() - Проверяет, является ли класс итерируемым
- Функция ReflectionClass::isSubclassOf() - Проверяет, является ли класс подклассом
- Функция ReflectionClass::isTrait() - Проверяет, является ли класс trait
- Функция ReflectionClass::isUserDefined() - Проверяет, является ли класс пользовательским
- Функция ReflectionClass::newInstance() - Создаёт экземпляр класса с переданными аргументами
- Функция ReflectionClass::newInstanceArgs() - Создаёт экземпляр класса с переданными параметрами
- Функция ReflectionClass::newInstanceWithoutConstructor() - Создаёт новый экземпляр класса без вызова конструктора
- Функция ReflectionClass::setStaticPropertyValue() - Устанавливает значение static-свойства
- Функция ReflectionClass::__toString() - Возвращает строковое представление объекта класса ReflectionClass
Коментарии
class TestClass { }
$TestObj=new TestClass();
$TestObj_assigned=$TestObj;
$TestObj_Refrenced=&$TestObj;
$TestObj_cloned=clone $TestObj;
$obj=new ReflectionClass('TestClass');
var_dump($obj->isInstance($TestObj));
var_dump($obj->isInstance($TestObj_assigned));
var_dump($obj->isInstance($TestObj_Refrenced));
var_dump($obj->isInstance($TestObj_cloned));