Функция class_implements

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

Синтаксис

phpclass_implements(
  object|string $class,
  [bool $autoload = true]
): array|false

Пример

Получим интерфейсы для встроенного класса Exception:

php<?php
  $res = class_implements('Exception');
  print_r($res);
?>

Результат выполнения кода:

php['Throwable']

Пример

Создадим собственный интерфейс и класс, затем проверим реализованные интерфейсы:

php<?php
  interface MyInterface {}
  class MyClass implements MyInterface {}
  
  $res = class_implements('MyClass');
  print_r($res);
?>

Результат выполнения кода:

php['MyInterface']

Пример

Проверим интерфейсы для самого интерфейса:

php<?php
  interface ParentInterface {}
  interface ChildInterface extends ParentInterface {}
  
  $res = class_implements('ChildInterface');
  print_r($res);
?>

Результат выполнения кода:

php['ParentInterface']

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

  • функцию class_parents,
    которая возвращает родительские классы
  • функцию class_uses,
    которая возвращает трейты, используемые классом