Funktionen is_subclass_of
Funktionen is_subclass_of kontrollerer, om et objekt eller en klasse tilhører underklasser af den angivne klasse eller om den implementerer det angivne interface. Den accepterer som første parameter et objekt eller et klassens navn, som andet parameter - forældreklassens navn eller interface. Den tredje valgfrie parameter bestemmer, om klasseautoloading skal tages i betragtning.
Syntaks
is_subclass_of(mixed $object_or_class, string $class, bool $allow_string = true): bool
Eksempel
Lad os kontrollere arv af simple klasser:
<?php
class ParentClass {}
class ChildClass extends ParentClass {}
$res = is_subclass_of('ChildClass', 'ParentClass');
var_dump($res);
?>
Resultat af kodeudførelse:
true
Eksempel
Lad os kontrollere implementering af et interface:
<?php
interface MyInterface {}
class MyClass implements MyInterface {}
$res = is_subclass_of('MyClass', 'MyInterface');
var_dump($res);
?>
Resultat af kodeudførelse:
true
Eksempel
Kontrol med et objekt i stedet for klassens navn:
<?php
class Animal {}
class Dog extends Animal {}
$dog = new Dog();
$res = is_subclass_of($dog, 'Animal');
var_dump($res);
?>
Resultat af kodeudførelse:
true
Eksempel
Kontrol af tilfælde, hvor klassen ikke er en underklasse:
<?php
class A {}
class B {}
$res = is_subclass_of('B', 'A');
var_dump($res);
?>
Resultat af kodeudførelse:
false
Se også
-
funktionen is_a,
som kontrollerer tilhørsforhold til en klasse -
funktionen class_parents,
som returnerer alle forældre -
funktionen get_parent_class,
som returnerer forældreklassen -
funktionen instanceof,
operatoren til kontrol af instans