Funzione is_subclass_of
La funzione is_subclass_of verifica se un oggetto o una classe appartiene alle sottoclassi della classe specificata o se implementa l'interfaccia specificata. Il primo parametro accetta un oggetto o il nome di una classe, il secondo - il nome della classe genitore o dell'interfaccia. Il terzo parametro opzionale determina se è necessario considerare il caricamento automatico delle classi.
Sintassi
is_subclass_of(mixed $object_or_class, string $class, bool $allow_string = true): bool
Esempio
Verifichiamo l'ereditarietà di classi semplici:
<?php
class ParentClass {}
class ChildClass extends ParentClass {}
$res = is_subclass_of('ChildClass', 'ParentClass');
var_dump($res);
?>
Risultato dell'esecuzione del codice:
true
Esempio
Verifichiamo l'implementazione di un'interfaccia:
<?php
interface MyInterface {}
class MyClass implements MyInterface {}
$res = is_subclass_of('MyClass', 'MyInterface');
var_dump($res);
?>
Risultato dell'esecuzione del codice:
true
Esempio
Verifica con un oggetto invece del nome della classe:
<?php
class Animal {}
class Dog extends Animal {}
$dog = new Dog();
$res = is_subclass_of($dog, 'Animal');
var_dump($res);
?>
Risultato dell'esecuzione del codice:
true
Esempio
Verifica del caso in cui una classe non è una sottoclasse:
<?php
class A {}
class B {}
$res = is_subclass_of('B', 'A');
var_dump($res);
?>
Risultato dell'esecuzione del codice:
false
Vedi anche
-
la funzione is_a,
che verifica l'appartenenza a una classe -
la funzione class_parents,
che restituisce tutti i genitori -
la funzione get_parent_class,
che restituisce la classe genitore -
la funzione instanceof,
operatore di verifica dell'istanza