Funktionen is_subclass_of
Funktionen is_subclass_of kontrollerar om ett objekt eller en klass tillhör barn till den angivna klassen eller om den implementerar det angivna gränssnittet. Den tar ett objekt eller ett klassnamn som första parameter, och namnet på föräldraklassen eller gränssnittet som andra parameter. Den tredje valfria parametern bestämmer om klassautoladdning ska beaktas.
Syntax
is_subclass_of(mixed $object_or_class, string $class, bool $allow_string = true): bool
Exempel
Låt oss kontrollera arv av enkla klasser:
<?php
class ParentClass {}
class ChildClass extends ParentClass {}
$res = is_subclass_of('ChildClass', 'ParentClass');
var_dump($res);
?>
Resultat av kodkörning:
true
Exempel
Låt oss kontrollera implementering av ett gränssnitt:
<?php
interface MyInterface {}
class MyClass implements MyInterface {}
$res = is_subclass_of('MyClass', 'MyInterface');
var_dump($res);
?>
Resultat av kodkörning:
true
Exempel
Kontroll med ett objekt istället för klassnamn:
<?php
class Animal {}
class Dog extends Animal {}
$dog = new Dog();
$res = is_subclass_of($dog, 'Animal');
var_dump($res);
?>
Resultat av kodkörning:
true
Exempel
Kontroll av fall då klassen inte är ett barn:
<?php
class A {}
class B {}
$res = is_subclass_of('B', 'A');
var_dump($res);
?>
Resultat av kodkörning:
false
Se även
-
funktionen is_a,
som kontrollerar tillhörighet till en klass -
funktionen class_parents,
som returnerar alla föräldrar -
funktionen get_parent_class,
som returnerar föräldraklassen -
funktionen instanceof,
operatör för instanskontroll