Funkcja is_subclass_of
Funkcja is_subclass_of sprawdza, czy obiekt lub klasa należy do potomków wskazanej klasy lub czy implementuje wskazany interfejs. Pierwszym parametrem przyjmuje obiekt lub nazwę klasy, drugim - nazwę klasy nadrzędnej lub interfejsu. Trzeci opcjonalny parametr określa, czy należy uwzględnić automatyczne ładowanie klas.
Składnia
is_subclass_of(mixed $object_or_class, string $class, bool $allow_string = true): bool
Przykład
Sprawdźmy dziedziczenie prostych klas:
<?php
class ParentClass {}
class ChildClass extends ParentClass {}
$res = is_subclass_of('ChildClass', 'ParentClass');
var_dump($res);
?>
Wynik wykonania kodu:
true
Przykład
Sprawdźmy implementację interfejsu:
<?php
interface MyInterface {}
class MyClass implements MyInterface {}
$res = is_subclass_of('MyClass', 'MyInterface');
var_dump($res);
?>
Wynik wykonania kodu:
true
Przykład
Sprawdzanie z obiektem zamiast nazwy klasy:
<?php
class Animal {}
class Dog extends Animal {}
$dog = new Dog();
$res = is_subclass_of($dog, 'Animal');
var_dump($res);
?>
Wynik wykonania kodu:
true
Przykład
Sprawdzanie przypadku, gdy klasa nie jest potomkiem:
<?php
class A {}
class B {}
$res = is_subclass_of('B', 'A');
var_dump($res);
?>
Wynik wykonania kodu:
false
Zobacz też
-
funkcję is_a,
która sprawdza przynależność do klasy -
funkcję class_parents,
która zwraca wszystkich rodziców -
funkcję get_parent_class,
która zwraca klasę nadrzędną -
funkcję instanceof,
operator sprawdzania instancji