interface_exists
funkcja
Sprawdza, czy interfejs o podanej nazwie istnieje. Analogiczna do `class_exists`, ale zwraca `true` tylko dla interfejsów, nie dla klas ani traitów.
interface_exists(string $interface, bool $autoload = true): bool
interface_exists zwraca true, gdy PHP zna interfejs o podanej nazwie — z uwzględnieniem przestrzeni nazw. Parametr $autoload (domyślnie true) kontroluje, czy wywołać autoloader przed sprawdzeniem. Funkcja pozwala odróżnić interfejsy od klas i traitów o tej samej nazwie, co jest przydatne przy dynamicznym ładowaniu kontraktów lub walidacji architektury w narzędziach developerskich. Dla klas używaj class_exists, dla traitów — trait_exists.
<?php
declare(strict_types=1);
interface Serializowalny
{
public function serialize(): string;
}
interface Loggowalny
{
public function log(string $komunikat): void;
}
var_dump(interface_exists('Serializowalny')); // bool(true)
var_dump(interface_exists('Loggowalny')); // bool(true)
var_dump(interface_exists('NieIstnieje')); // bool(false)
// Klasa o tej samej nazwie co interfejs — interface_exists rozróżnia:
class Pomocnik {}
var_dump(interface_exists('Pomocnik')); // bool(false)
var_dump(class_exists('Pomocnik')); // bool(true)