Funkcia is_subclass_of
Funkcia is_subclass_of kontroluje, či objekt alebo trieda patrí k potomkom zadanej triedy alebo či implementuje zadaný interface. Prvým parametrom prijíma objekt alebo názov triedy, druhým - názov rodičovskej triedy alebo interface. Tretí voliteľný parameter určuje, či je potrebné zohľadniť automatické načítanie tried.
Syntax
is_subclass_of(mixed $object_or_class, string $class, bool $allow_string = true): bool
Príklad
Skontrolujeme dedičnosť jednoduchých tried:
<?php
class ParentClass {}
class ChildClass extends ParentClass {}
$res = is_subclass_of('ChildClass', 'ParentClass');
var_dump($res);
?>
Výsledok vykonania kódu:
true
Príklad
Skontrolujeme implementáciu interface:
<?php
interface MyInterface {}
class MyClass implements MyInterface {}
$res = is_subclass_of('MyClass', 'MyInterface');
var_dump($res);
?>
Výsledok vykonania kódu:
true
Príklad
Kontrola s objektom namiesto názvu triedy:
<?php
class Animal {}
class Dog extends Animal {}
$dog = new Dog();
$res = is_subclass_of($dog, 'Animal');
var_dump($res);
?>
Výsledok vykonania kódu:
true
Príklad
Kontrola prípadu, keď trieda nie je potomkom:
<?php
class A {}
class B {}
$res = is_subclass_of('B', 'A');
var_dump($res);
?>
Výsledok vykonania kódu:
false
Pozrite tiež
-
funkciu is_a,
ktorá kontroluje príslušnosť k triede -
funkciu class_parents,
ktorá vracia všetkých rodičov -
funkciu get_parent_class,
ktorá vracia rodičovskú triedu -
funkciu instanceof,
operátor kontroly inštancie