Functie is_subclass_of
De functie is_subclass_of controleert of een object of klasse behoort tot de afstammelingen van de opgegeven klasse of of het de opgegeven interface implementeert. Het eerste parameter accepteert een object of klassenaam, de tweede - de naam van de bovenliggende klasse of interface. De derde optionele parameter bepaalt of autoloading van klassen in aanmerking moet worden genomen.
Syntaxis
is_subclass_of(mixed $object_or_class, string $class, bool $allow_string = true): bool
Voorbeeld
Laten we de overerving van eenvoudige klassen controleren:
<?php
class ParentClass {}
class ChildClass extends ParentClass {}
$res = is_subclass_of('ChildClass', 'ParentClass');
var_dump($res);
?>
Resultaat van code-uitvoering:
true
Voorbeeld
Laten we de implementatie van een interface controleren:
<?php
interface MyInterface {}
class MyClass implements MyInterface {}
$res = is_subclass_of('MyClass', 'MyInterface');
var_dump($res);
?>
Resultaat van code-uitvoering:
true
Voorbeeld
Controle met een object in plaats van een klassenaam:
<?php
class Animal {}
class Dog extends Animal {}
$dog = new Dog();
$res = is_subclass_of($dog, 'Animal');
var_dump($res);
?>
Resultaat van code-uitvoering:
true
Voorbeeld
Controle van het geval wanneer een klasse geen afstammeling is:
<?php
class A {}
class B {}
$res = is_subclass_of('B', 'A');
var_dump($res);
?>
Resultaat van code-uitvoering:
false
Zie ook
-
functie is_a,
die controleert of iets tot een klasse behoort -
functie class_parents,
die alle bovenliggende klassen retourneert -
functie get_parent_class,
die de bovenliggende klasse retourneert -
functie instanceof,
operator voor het controleren van een instantie