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
// (
// )
📘 Naucz się w lekcji →