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
phpis_subclass_of(mixed $object_or_class, string $class, bool $allow_string = true): bool
Exempel
Låt oss kontrollera arv av enkla klasser:
php<?php
class ParentClass {}
class ChildClass extends ParentClass {}
$res = is_subclass_of('ChildClass', 'ParentClass');
var_dump($res);
?>
Resultat av kodkörning:
phptrue
Exempel
Låt oss kontrollera implementering av ett gränssnitt:
php<?php
interface MyInterface {}
class MyClass implements MyInterface {}
$res = is_subclass_of('MyClass', 'MyInterface');
var_dump($res);
?>
Resultat av kodkörning:
phptrue
Exempel
Kontroll med ett objekt istället för klassnamn:
php<?php
class Animal {}
class Dog extends Animal {}
$dog = new Dog();
$res = is_subclass_of($dog, 'Animal');
var_dump($res);
?>
Resultat av kodkörning:
phptrue
Exempel
Kontroll av fall då klassen inte är ett barn:
php<?php
class A {}
class B {}
$res = is_subclass_of('B', 'A');
var_dump($res);
?>
Resultat av kodkörning:
phpfalse
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