Funcția is_subclass_of

Funcția is_subclass_of verifică dacă un obiect sau o clasă aparține descendenților clasei specificate sau dacă implementează interfața specificată. Primul parametru primește un obiect sau numele unei clase, al doilea - numele clasei părinte sau al interfeței. Al treilea parametru opțional determină dacă trebuie luată în considerare încărcarea automată a claselor.

Sintaxă

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

Exemplu

Să verificăm moștenirea claselor simple:

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

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

Rezultatul executării codului:

phptrue

Exemplu

Să verificăm implementarea interfeței:

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

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

Rezultatul executării codului:

phptrue

Exemplu

Verificare cu obiect în loc de numele clasei:

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

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

Rezultatul executării codului:

phptrue

Exemplu

Verificarea cazului în care clasa nu este un descendent:

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

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

Rezultatul executării codului:

phpfalse

Vezi și

  • funcția is_a,
    care verifică apartenența la o clasă
  • funcția class_parents,
    care returnează toți părinții
  • funcția get_parent_class,
    care returnează clasa părinte
  • funcția instanceof,
    operatorul de verificare a instanței