Az is_subclass_of függvény
Az is_subclass_of függvény ellenőrzi, hogy egy objektum vagy osztály a megadott osztály leszármazottjai közé tartozik-e, vagy implementálja-e a megadott interfészt. Első paraméterként egy objektumot vagy osztálynevet fogad, másodikként egy szülő osztály vagy interfész nevét. A harmadik, opcionális paraméter határozza meg, hogy kell-e figyelembe venni az osztályok automatikus betöltését.
Szintaxis
is_subclass_of(mixed $object_or_class, string $class, bool $allow_string = true): bool
Példa
Ellenőrizzük egyszerű osztályok öröklődését:
<?php
class ParentClass {}
class ChildClass extends ParentClass {}
$res = is_subclass_of('ChildClass', 'ParentClass');
var_dump($res);
?>
A kód végrehajtásának eredménye:
true
Példa
Ellenőrizzük egy interfész implementálását:
<?php
interface MyInterface {}
class MyClass implements MyInterface {}
$res = is_subclass_of('MyClass', 'MyInterface');
var_dump($res);
?>
A kód végrehajtásának eredménye:
true
Példa
Ellenőrzés objektummal osztálynév helyett:
<?php
class Animal {}
class Dog extends Animal {}
$dog = new Dog();
$res = is_subclass_of($dog, 'Animal');
var_dump($res);
?>
A kód végrehajtásának eredménye:
true
Példa
Annak az esetnek az ellenőrzése, amikor egy osztály nem leszármazott:
<?php
class A {}
class B {}
$res = is_subclass_of('B', 'A');
var_dump($res);
?>
A kód végrehajtásának eredménye:
false
Lásd még
-
az is_a függvényt,
amely egy osztályhoz való tartozást ellenőrzi -
a class_parents függvényt,
amely visszaadja az összes szülőt -
a get_parent_class függvényt,
amely visszaadja a szülő osztályt -
az instanceof függvényt,
a példány ellenőrző operátort