ВНИМАНИЕ: Запись на курсы по HTML, CSS, JavaScript, PHP, Python, React, Vue, Laravel и другим фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
326 of 410 menu
Новый формат обучения! Репетиторство по программированию. Есть еще 3 свободных места! Жми для подробностей.

Функция is_subclass_of

Функция is_subclass_of проверяет, принадлежит ли объект или класс к потомкам указанного класса либо реализует ли он указанный интерфейс. Первым параметром принимает объект или имя класса, вторым - имя родительского класса или интерфейса. Третий необязательный параметр определяет, нужно ли учитывать автозагрузку классов.

Синтаксис

is_subclass_of(mixed $object_or_class, string $class, bool $allow_string = true): bool

Пример

Проверим наследование простых классов:

<?php class ParentClass {} class ChildClass extends ParentClass {} $res = is_subclass_of('ChildClass', 'ParentClass'); var_dump($res); ?>

Результат выполнения кода:

true

Пример

Проверим реализацию интерфейса:

<?php interface MyInterface {} class MyClass implements MyInterface {} $res = is_subclass_of('MyClass', 'MyInterface'); var_dump($res); ?>

Результат выполнения кода:

true

Пример

Проверка с объектом вместо имени класса:

<?php class Animal {} class Dog extends Animal {} $dog = new Dog(); $res = is_subclass_of($dog, 'Animal'); var_dump($res); ?>

Результат выполнения кода:

true

Пример

Проверка случая, когда класс не является потомком:

<?php class A {} class B {} $res = is_subclass_of('B', 'A'); var_dump($res); ?>

Результат выполнения кода:

false

Смотрите также

  • функцию is_a,
    которая проверяет принадлежность к классу
  • функцию class_parents,
    которая возвращает всех родителей
  • функцию get_parent_class,
    которая возвращает родительский класс
  • функцию instanceof,
    оператор проверки экземпляра
byenru