Возвращает список интерфейсов, которые реализовал класс или унаследовал интерфейс

# class_implements

(PHP 5, PHP 7, PHP 8)

class_implements — Возвращает список интерфейсов, которые реализовал класс или унаследовал интерфейс

### Описание

function class_implements(object|string `$object_or_class`, bool `$autoload` = `true`): array|false

Функция возвращает массив с названиями интерфейсов, которые реализует объект или класс `object_or_class` и его родители.

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

`object_or_class`

  Экземпляр класса или строка с названием класса или интерфейса.

`autoload`

  Требуется ли автозагрузка класса, если PHP ещё не загрузил класс.

### Возвращаемые значения

Функция возвращает массив, если выполнилась успешно, или `false`, если класс не определили или не загрузили в текущую область видимости.

### Примеры

Пример #1 Пример получения списка интерфейсов функцией class_implements()

    <?php

    interface Foo {}
    class Bar implements Foo {}

    print_r(class_implements(new Bar()));

    // Возможно также указать параметр как строку
    print_r(class_implements('Bar'));

    spl_autoload_register();

    // Автозагрузка класса 'NotLoaded'
    print_r(class_implements('NotLoaded', true));

    ?>

Вывод приведённого примера будет похож на:

    Array
    (
        [foo] => foo
    )
    Array
    (
        [foo] => foo
    )
    Array
    (
        [interface_of_NotLoaded] => interface_of_NotLoaded
    )

### Примечания

> Замечание: Реализует ли класс объекта конкретный интерфейс, проверяют оператором `instanceof` или вызывают функцию is_a().

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

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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open