Функција 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,
    оператор провере инстанце