#7.21 php ООП Оператор проверки типа instanceof

Оператор проверки типа проверяет соместимость класса объекта, стоящего слева от instanceof с классом или интерфейсом, стоящим справа:

$Obj instanceof Class

В самом простом случае оператор instanceof позволяет проверить, является ли объект экземпляром некоторого класса, например,

<?php
class A
{
}

class B
{
}

$a = new A;
var_dump($a instanceof A);
var_dump($a instanceof B);

Результат:
bool(true)
bool(false)

При проверке принадлежности объекта производного класса базовому классу instanceof даёт положительный ответ:

<?php
class ParentClass
{
}

class Child extends ParentClass
{
}

$obj = new Child;
var_dump($obj instanceof ParentClass);
var_dump($obj instanceof Child);

Результат:
bool(true)
bool(true)

instanceof может использоваться также для проверки того, реализует ли класс объекта некоторый интерфейс:

<?php
interface MyInterface
{
}

class MyClass implements MyInterface
{
}

$obj = new MyClass;
var_dump($obj instanceof MyInterface);

Результат:
bool(true)

Key Words for FKN + antitotal forum (CS VSU):