(PHP 5, PHP 7, PHP 8)
ReflectionClass::isInstance — Проверяет, принадлежит ли объект классу
Метод проверяет, относится ли объект к экземпляру класса.
objectПроверяемый объект.
Метод возвращает значение true , если объект — экземпляр класса, иначе возвращает значение false .
Пример #1 Пример проверки принадлежности объекта классу методом ReflectionClass::isInstance() и аналогичными способами
<?php
class Foo {}
$object = new Foo();
$reflection = new ReflectionClass('Foo');
if ($reflection->isInstance($object)) {
echo "Yes\n";
}
// Эквивалентно:
if ($object instanceof Foo) {
echo "Yes\n";
}
// Эквивалентно:
if (is_a($object, 'Foo')) {
echo "Yes";
}
?>Вывод приведённого примера будет похож на:
Да Да Да
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));