Функцыя is_subclass_of
Функцыя is_subclass_of
правярае, ці належыць аб'ект ці клас да нашчадкаў указанага класа ці рэалізуе ён указаны інтэрфейс. Першым параметрам прымае аб'ект ці імя класа, другім - імя бацькоўскага класа ці інтэрфейсу. Трэці неабавязковы параметр вызначае, ці трэба ўлічваць аўтазагрузку класаў.
Сінтаксіс
is_subclass_of(mixed $object_or_class, string $class, bool $allow_string = true): bool
Прыклад
Праверым наследаванне простых класаў:
<?php
class ParentClass {}
class ChildClass extends ParentClass {}
$res = is_subclass_of('ChildClass', 'ParentClass');
var_dump($res);
?>
Вынік выканання кода:
true
Прыклад
Праверым рэалізацыю інтэрфейсу:
<?php
interface MyInterface {}
class MyClass implements MyInterface {}
$res = is_subclass_of('MyClass', 'MyInterface');
var_dump($res);
?>
Вынік выканання кода:
true
Прыклад
Праверка з аб'ектам замест імя класа:
<?php
class Animal {}
class Dog extends Animal {}
$dog = new Dog();
$res = is_subclass_of($dog, 'Animal');
var_dump($res);
?>
Вынік выканання кода:
true
Прыклад
Праверка выпадку, калі клас не з'яўляецца нашчадкам:
<?php
class A {}
class B {}
$res = is_subclass_of('B', 'A');
var_dump($res);
?>
Вынік выканання кода:
false
Глядзіце таксама
-
функцыю is_a,
якая правярае прыналежнасць да класа -
функцыю class_parents,
якая вяртае ўсіх бацькоў -
функцыю get_parent_class,
якая вяртае бацькоўскі клас -
функцыю instanceof,
аператар праверкі асобніка