<?php
class foo {}
class bar extends foo {}
class baz extends bar {}
print_r(class_parents(new baz));
?>
Will output:
Array
(
[bar] => bar
[foo] => foo
)
(PHP 5, PHP 7, PHP 8)
class_parents — Возвращает список родительских классов заданного класса
$object_or_class
, bool $autoload
= true
): array|false
Эта функция возвращает массив с именами родительских классов заданного класса
object_or_class
.
object_or_class
Объект (экземпляр класса) или строка (имя класса).
autoload
Вызывать ли по умолчанию __autoload.
В случае успешного выполнения будет возвращён массив, если заданный класс не существует, возвращается false
.
Пример #1 Пример использования class_parents()
<?php
class foo { }
class bar extends foo {}
print_r(class_parents(new bar));
// можно передавать имя класса вместо объекта
print_r(class_parents('bar'));
spl_autoload_register();
// использование автозагрузки для загрузки ещё незагруженного класса 'not_loaded'
print_r(class_parents('not_loaded', true));
?>
Результатом выполнения данного примера будет что-то подобное:
Array ( [foo] => foo ) Array ( [foo] => foo ) Array ( [parent_of_not_loaded] => parent_of_not_loaded )
<?php
class foo {}
class bar extends foo {}
class baz extends bar {}
print_r(class_parents(new baz));
?>
Will output:
Array
(
[bar] => bar
[foo] => foo
)