Funksjonen is_subclass_of
Funksjonen is_subclass_of sjekker om et objekt eller en klasse tilhører underklasser av den angitte klassen eller om den implementerer det angitte grensesnittet. Den tar imot et objekt eller et klassenavn som første parameter, og navnet på foreldreklassen eller grensesnittet som andre parameter. Den tredje valgfrie parameteren bestemmer om klasseautolasting skal tas i betraktning.
Syntaks
is_subclass_of(mixed $object_or_class, string $class, bool $allow_string = true): bool
Eksempel
La oss sjekke arving av enkle klasser:
<?php
class ParentClass {}
class ChildClass extends ParentClass {}
$res = is_subclass_of('ChildClass', 'ParentClass');
var_dump($res);
?>
Resultat av kjøring av koden:
true
Eksempel
La oss sjekke implementering av et grensesnitt:
<?php
interface MyInterface {}
class MyClass implements MyInterface {}
$res = is_subclass_of('MyClass', 'MyInterface');
var_dump($res);
?>
Resultat av kjøring av koden:
true
Eksempel
Sjekk med objekt i stedet for klassenavn:
<?php
class Animal {}
class Dog extends Animal {}
$dog = new Dog();
$res = is_subclass_of($dog, 'Animal');
var_dump($res);
?>
Resultat av kjøring av koden:
true
Eksempel
Sjekk av tilfellet hvor klassen ikke er en underklasse:
<?php
class A {}
class B {}
$res = is_subclass_of('B', 'A');
var_dump($res);
?>
Resultat av kjøring av koden:
false
Se også
-
funksjonen is_a,
som sjekker tilhørighet til en klasse -
funksjonen class_parents,
som returnerer alle foreldre -
funksjonen get_parent_class,
som returnerer foreldreklassen -
funksjonen instanceof,
operatoren for instanssjekk