class_implements
funkcja
Zwraca tablicę interfejsów implementowanych przez daną klasę lub obiekt. Zwraca false przy błędzie.
class_implements(object|string $object_or_class, bool $autoload = true): array|false
class_implements zwraca tablicę asocjacyjną, w której klucze i wartości to nazwy interfejsów implementowanych przez podaną klasę lub obiekt. Uwzględnia interfejsy zadeklarowane bezpośrednio w klasie oraz odziedziczone po klasach nadrzędnych. Jeśli klasa nie implementuje żadnych interfejsów, zwraca pustą tablicę. Zwraca false, gdy podana nazwa klasy nie istnieje i $autoload jest false.
Parametr $autoload (domyślnie true) kontroluje, czy PHP ma wywołać autoloader (np. Composera), jeśli klasa nie jest jeszcze załadowana.
<?php
declare(strict_types=1);
interface Serializowalny {}
interface Logowalny {}
class Serwis implements Serializowalny, Logowalny {}
print_r(class_implements('Serwis'));
// wynik:
// Array
// (
// [Serializowalny] => Serializowalny
// [Logowalny] => Logowalny
// )
// Interfejsy odziedziczone po rodzicu:
class RozszerzonySerwis extends Serwis {}
print_r(class_implements('RozszerzonySerwis'));
// wynik:
// Array
// (
// [Serializowalny] => Serializowalny
// [Logowalny] => Logowalny
// )