(PHP 5, PHP 7, PHP 8)
class_implements — Возвращает список интерфейсов, реализованных в заданном классе или интерфейсе
Функция возвращает массив имён интерфейсов, реализованных в заданном классе
object_or_class и его родительских классах.
object_or_classОбъект (экземпляр класса) или строка (имя класса или интерфейса).
autoloadНужно ли автоматически подгружать класс, если он ещё не загружен.
В случае успешного выполнения будет возвращён массив, если заданный класс не существует, возвращается 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();
// использование автозагрузки для загрузки ещё незагруженного класса 'not_loaded'
print_r(class_implements('not_loaded', true));
?>Вывод приведённого примера будет похож на:
Array
(
[foo] => foo
)
Array
(
[foo] => foo
)
Array
(
[interface_of_not_loaded] => interface_of_not_loaded
)
Замечание: Для проверки того, что объект реализует интерфейс, следует использовать
instanceofили функцию is_a().
instanceof