Fonction is_subclass_of
La fonction is_subclass_of vérifie si un objet ou une classe appartient aux classes enfants de la classe spécifiée ou s'il implémente l'interface spécifiée. Le premier paramètre accepte un objet ou un nom de classe, le second - le nom de la classe parente ou de l'interface. Le troisième paramètre optionnel détermine s'il faut prendre en compte le chargement automatique des classes.
Syntaxe
is_subclass_of(mixed $object_or_class, string $class, bool $allow_string = true): bool
Exemple
Vérifions l'héritage de classes simples :
<?php
class ParentClass {}
class ChildClass extends ParentClass {}
$res = is_subclass_of('ChildClass', 'ParentClass');
var_dump($res);
?>
Résultat de l'exécution du code :
true
Exemple
Vérifions l'implémentation d'une interface :
<?php
interface MyInterface {}
class MyClass implements MyInterface {}
$res = is_subclass_of('MyClass', 'MyInterface');
var_dump($res);
?>
Résultat de l'exécution du code :
true
Exemple
Vérification avec un objet au lieu d'un nom de classe :
<?php
class Animal {}
class Dog extends Animal {}
$dog = new Dog();
$res = is_subclass_of($dog, 'Animal');
var_dump($res);
?>
Résultat de l'exécution du code :
true
Exemple
Vérification du cas où une classe n'est pas une classe enfant :
<?php
class A {}
class B {}
$res = is_subclass_of('B', 'A');
var_dump($res);
?>
Résultat de l'exécution du code :
false
Voir aussi
-
la fonction is_a,
qui vérifie l'appartenance à une classe -
la fonction class_parents,
qui retourne tous les parents -
la fonction get_parent_class,
qui retourne la classe parente -
la fonction instanceof,
opérateur de vérification d'instance