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

phpis_subclass_of(mixed $object_or_class, string $class, bool $allow_string = true): bool

Príklad

Skontrolujeme dedičnosť jednoduchých tried:

php<?php
  class ParentClass {}
  class ChildClass extends ParentClass {}

  $res = is_subclass_of('ChildClass', 'ParentClass');
  var_dump($res);
?>

Výsledok vykonania kódu:

phptrue

Príklad

Skontrolujeme implementáciu interface:

php<?php
  interface MyInterface {}
  class MyClass implements MyInterface {}

  $res = is_subclass_of('MyClass', 'MyInterface');
  var_dump($res);
?>

Výsledok vykonania kódu:

phptrue

Príklad

Kontrola s objektom namiesto názvu triedy:

php<?php
  class Animal {}
  class Dog extends Animal {}

  $dog = new Dog();
  $res = is_subclass_of($dog, 'Animal');
  var_dump($res);
?>

Výsledok vykonania kódu:

phptrue

Príklad

Kontrola prípadu, keď trieda nie je potomkom:

php<?php
  class A {}
  class B {}

  $res = is_subclass_of('B', 'A');
  var_dump($res);
?>

Výsledok vykonania kódu:

phpfalse

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