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ė
is_subclass_of(mixed $object_or_class, string $class, bool $allow_string = true): bool
Pavyzdys
Patikrinkime paprastų klasių paveldėjimą:
<?php
class ParentClass {}
class ChildClass extends ParentClass {}
$res = is_subclass_of('ChildClass', 'ParentClass');
var_dump($res);
?>
Kodo vykdymo rezultatas:
true
Pavyzdys
Patikrinkime interfeiso įgyvendinimą:
<?php
interface MyInterface {}
class MyClass implements MyInterface {}
$res = is_subclass_of('MyClass', 'MyInterface');
var_dump($res);
?>
Kodo vykdymo rezultatas:
true
Pavyzdys
Tikrinimas su objektu vietoj klasės pavadinimo:
<?php
class Animal {}
class Dog extends Animal {}
$dog = new Dog();
$res = is_subclass_of($dog, 'Animal');
var_dump($res);
?>
Kodo vykdymo rezultatas:
true
Pavyzdys
Atvejo, kai klasė nėra palikuonė, tikrinimas:
<?php
class A {}
class B {}
$res = is_subclass_of('B', 'A');
var_dump($res);
?>
Kodo vykdymo rezultatas:
false
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ų