Функција 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,
оператор провере инстанце