Funkcija is_subclass_of
Funkcija is_subclass_of proverava da li objekat ili klasa pripada potomcima navedene klase ili implementira li navedeni interfejs. Prvi parametar prima objekat ili ime klase, drugi - ime roditeljske klase ili interfejsa. Treći opcioni parametar određuje da li treba uzeti u obzir automatsko učitavanje klasa.
Sintaksa
is_subclass_of(mixed $object_or_class, string $class, bool $allow_string = true): bool
Primer
Proverimo nasleđivanje jednostavnih klasa:
<?php
class ParentClass {}
class ChildClass extends ParentClass {}
$res = is_subclass_of('ChildClass', 'ParentClass');
var_dump($res);
?>
Rezultat izvršavanja koda:
true
Primer
Proverimo implementaciju interfejsa:
<?php
interface MyInterface {}
class MyClass implements MyInterface {}
$res = is_subclass_of('MyClass', 'MyInterface');
var_dump($res);
?>
Rezultat izvršavanja koda:
true
Primer
Provera sa objektom umesto imena klase:
<?php
class Animal {}
class Dog extends Animal {}
$dog = new Dog();
$res = is_subclass_of($dog, 'Animal');
var_dump($res);
?>
Rezultat izvršavanja koda:
true
Primer
Provera slučaja kada klasa nije potomak:
<?php
class A {}
class B {}
$res = is_subclass_of('B', 'A');
var_dump($res);
?>
Rezultat izvršavanja koda:
false
Pogledajte takođe
-
funkciju is_a,
koja proverava pripadnost klasi -
funkciju class_parents,
koja vraća sve roditelje -
funkciju get_parent_class,
koja vraća roditeljsku klasu -
funkciju instanceof,
operator provere instance