class_parents
funkcja
Zwraca tablicę asocjacyjną klas nadrzędnych danej klasy lub obiektu, od bezpośredniego rodzica do korzenia.
class_parents(object|string $object_or_class, bool $autoload = true): array|false
class_parents zwraca tablicę asocjacyjną, w której klucze i wartości to nazwy wszystkich klas nadrzędnych podanej klasy lub obiektu — od bezpośredniego rodzica aż do korzenia hierarchii. Jeśli klasa nie dziedziczy po żadnej klasie, zwraca pustą tablicę. Zwraca false, gdy klasa nie istnieje i $autoload jest false.
Przydaje się do inspekcji hierarchii dziedziczenia w czasie działania programu, np. w kontenerach IoC, systemach serializacji lub narzędziach do debugowania.
<?php
declare(strict_types=1);
class Zwierze {}
class Pies extends Zwierze {}
class Labrador extends Pies {}
print_r(class_parents('Labrador'));
// wynik:
// Array
// (
// [Pies] => Pies
// [Zwierze] => Zwierze
// )
// Bezpośredni rodzic:
print_r(class_parents('Pies'));
// wynik:
// Array
// (
// [Zwierze] => Zwierze
// )
// Klasa bez rodzica:
print_r(class_parents('Zwierze'));
// wynik:
// Array
// (
// )