Функција is_subclass_of

Функцијата is_subclass_of проверува дали објектот или класата припаѓаат на потомците на наведената класа или дали го имплементира наведениот интерфејс. Како прв параметар прифаќа објект или име на класа, како втор - име на родителска класа или интерфејс. Третиот незадолжителен параметар одредува дали треба да се земе предвид автоматското вчитување на класи.

Синтакса

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

Пример

Да провериме наследување на едноставни класи:

php<?php
  class ParentClass {}
  class ChildClass extends ParentClass {}

  $res = is_subclass_of('ChildClass', 'ParentClass');
  var_dump($res);
?>

Резултат од извршување на кодот:

phptrue

Пример

Да провериме имплементација на интерфејс:

php<?php
  interface MyInterface {}
  class MyClass implements MyInterface {}

  $res = is_subclass_of('MyClass', 'MyInterface');
  var_dump($res);
?>

Резултат од извршување на кодот:

phptrue

Пример

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

php<?php
  class Animal {}
  class Dog extends Animal {}

  $dog = new Dog();
  $res = is_subclass_of($dog, 'Animal');
  var_dump($res);
?>

Резултат од извршување на кодот:

phptrue

Пример

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

php<?php
  class A {}
  class B {}

  $res = is_subclass_of('B', 'A');
  var_dump($res);
?>

Резултат од извршување на кодот:

phpfalse

Погледнете ги исто така

  • функцијата is_a,
    која проверува припадност на класа
  • функцијата class_parents,
    која ги враќа сите родители
  • функцијата get_parent_class,
    која ја враќа родителската класа
  • функцијата instanceof,
    оператор за проверка на инстанца