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ă
is_subclass_of(mixed $object_or_class, string $class, bool $allow_string = true): bool
Exemplu
Să verificăm moștenirea claselor simple:
<?php
class ParentClass {}
class ChildClass extends ParentClass {}
$res = is_subclass_of('ChildClass', 'ParentClass');
var_dump($res);
?>
Rezultatul executării codului:
true
Exemplu
Să verificăm implementarea interfeței:
<?php
interface MyInterface {}
class MyClass implements MyInterface {}
$res = is_subclass_of('MyClass', 'MyInterface');
var_dump($res);
?>
Rezultatul executării codului:
true
Exemplu
Verificare cu obiect în loc de numele clasei:
<?php
class Animal {}
class Dog extends Animal {}
$dog = new Dog();
$res = is_subclass_of($dog, 'Animal');
var_dump($res);
?>
Rezultatul executării codului:
true
Exemplu
Verificarea cazului în care clasa nu este un descendent:
<?php
class A {}
class B {}
$res = is_subclass_of('B', 'A');
var_dump($res);
?>
Rezultatul executării codului:
false
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