Funkcija is_subclass_of

Funkcija is_subclass_of tikrina, ar objektas ar klasė priklauso nurodytos klasės palikuonims arba ar ji įgyvendina nurodytą interfeisą. Pirmuoju parametru priima objektą ar klasės pavadinimą, antruoju - tėvinės klasės ar interfeiso pavadinimą. Trečiasis neprivalomas parametras nustato, ar reikia atsižvelgti į klasių automatinį įkėlimą.

Sintaksė

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

Pavyzdys

Patikrinkime paprastų klasių paveldėjimą:

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

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

Kodo vykdymo rezultatas:

phptrue

Pavyzdys

Patikrinkime interfeiso įgyvendinimą:

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

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

Kodo vykdymo rezultatas:

phptrue

Pavyzdys

Tikrinimas su objektu vietoj klasės pavadinimo:

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

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

Kodo vykdymo rezultatas:

phptrue

Pavyzdys

Atvejo, kai klasė nėra palikuonė, tikrinimas:

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

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

Kodo vykdymo rezultatas:

phpfalse

Taip pat žiūrėkite

  • funkciją is_a,
    kuri tikrina priklausymą klasei
  • funkciją class_parents,
    kuri grąžina visus tėvus
  • funkciją get_parent_class,
    kuri grąžina tėvinę klasę
  • funkciją instanceof,
    egzemplioriaus tikrinimo operatorių