CakeFest 2024: The Official CakePHP Conference

class_parents

(PHP 5, PHP 7, PHP 8)

class_parents Возвращает список родительских классов заданного класса

Описание

class_parents(object|string $object_or_class, bool $autoload = true): array|false

Эта функция возвращает массив с именами родительских классов заданного класса object_or_class.

Список параметров

object_or_class

Объект (экземпляр класса) или строка (имя класса).

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
)

Примечания

Замечание: Для проверки того, что объект реализует интерфейс, следует использовать instanceof или функцию is_a().

Смотрите также

  • class_implements() - Возвращает список интерфейсов, реализованных в заданном классе или интерфейсе
  • is_a() - Проверяет, принадлежит ли объект к типу или подтипу
  • instanceof

add a note

User Contributed Notes 1 note

up
35
sergei dot solomonov at gmail dot com
11 years ago
<?php
class foo {}
class
bar extends foo {}
class
baz extends bar {}

print_r(class_parents(new baz));
?>

Will output:
Array
(
[bar] => bar
[foo] => foo
)
To Top