Funktio is_subclass_of
Funktio is_subclass_of tarkistaa, kuuluuko olio tai luokka määritetyn luokan jälkeläisiin tai toteuttaako se määritetyn rajapinnan. Se ottaa ensimmäisenä parametrina olion tai luokan nimen, toisena - yliluokan tai rajapinnan nimen. Kolmas valinnainen parametri määrittää, pitäisikö luokkien automaattista latausta ottaa huomioon.
Syntaksi
is_subclass_of(mixed $object_or_class, string $class, bool $allow_string = true): bool
Esimerkki
Tarkistetaan yksinkertaisten luokkien periytyminen:
<?php
class ParentClass {}
class ChildClass extends ParentClass {}
$res = is_subclass_of('ChildClass', 'ParentClass');
var_dump($res);
?>
Koodin suorituksen tulos:
true
Esimerkki
Tarkistetaan rajapinnan toteutus:
<?php
interface MyInterface {}
class MyClass implements MyInterface {}
$res = is_subclass_of('MyClass', 'MyInterface');
var_dump($res);
?>
Koodin suorituksen tulos:
true
Esimerkki
Tarkistus oliolla luokan nimen sijasta:
<?php
class Animal {}
class Dog extends Animal {}
$dog = new Dog();
$res = is_subclass_of($dog, 'Animal');
var_dump($res);
?>
Koodin suorituksen tulos:
true
Esimerkki
Tapauksen tarkistus, jossa luokka ei ole jälkeläinen:
<?php
class A {}
class B {}
$res = is_subclass_of('B', 'A');
var_dump($res);
?>
Koodin suorituksen tulos:
false
Katso myös
-
funktion is_a,
joka tarkistaa kuuluvuuden luokkaan -
funktion class_parents,
joka palauttaa kaikki yliluokat -
funktion get_parent_class,
joka palauttaa yliluokan -
funktion instanceof,
olion tarkistusoperaattori