Funktion is_subclass_of
Die Funktion is_subclass_of prüft, ob ein Objekt oder eine Klasse zu den Nachkommen der angegebenen Klasse gehört oder ob es das angegebene Interface implementiert. Der erste Parameter akzeptiert ein Objekt oder einen Klassennamen, der zweite - den Namen der Elternklasse oder des Interfaces. Der dritte optionale Parameter legt fest, ob das automatische Laden von Klassen berücksichtigt werden soll.
Syntax
is_subclass_of(mixed $object_or_class, string $class, bool $allow_string = true): bool
Beispiel
Prüfen wir die Vererbung einfacher Klassen:
<?php
class ParentClass {}
class ChildClass extends ParentClass {}
$res = is_subclass_of('ChildClass', 'ParentClass');
var_dump($res);
?>
Ergebnis der Codeausführung:
true
Beispiel
Prüfen wir die Implementierung eines Interfaces:
<?php
interface MyInterface {}
class MyClass implements MyInterface {}
$res = is_subclass_of('MyClass', 'MyInterface');
var_dump($res);
?>
Ergebnis der Codeausführung:
true
Beispiel
Prüfung mit einem Objekt anstelle eines Klassennamens:
<?php
class Animal {}
class Dog extends Animal {}
$dog = new Dog();
$res = is_subclass_of($dog, 'Animal');
var_dump($res);
?>
Ergebnis der Codeausführung:
true
Beispiel
Prüfung des Falls, wenn die Klasse kein Nachkomme ist:
<?php
class A {}
class B {}
$res = is_subclass_of('B', 'A');
var_dump($res);
?>
Ergebnis der Codeausführung:
false
Siehe auch
-
die Funktion is_a,
die die Zugehörigkeit zu einer Klasse prüft -
die Funktion class_parents,
die alle Eltern zurückgibt -
die Funktion get_parent_class,
die die Elternklasse zurückgibt -
die Funktion instanceof,
den Instanzprüfungsoperator