enum_exists

funkcja

Sprawdza, czy enum o podanej nazwie istnieje. Działa analogicznie do `class_exists`, ale zwraca `true` wyłącznie dla typów wyliczeniowych (enum).

enum_exists(string $enum, bool $autoload = true): bool

enum_exists zwraca true, gdy PHP zna enum o podanej nazwie — po uwzględnieniu przestrzeni nazw. Drugi parametr $autoload decyduje, czy przed sprawdzeniem uruchomić autoloader (domyślnie true). Funkcja zwróci false dla zwykłych klas i interfejsów o tej samej nazwie — w odróżnieniu od class_exists, które dla enumów w PHP 8.1+ też zwraca true. Używaj enum_exists gdy chcesz jednoznacznie stwierdzić, że typ jest enumem.

<?php
declare(strict_types=1);

enum Status
{
    case Aktywny;
    case Nieaktywny;
}

enum Priorytet: int
{
    case Niski   = 1;
    case Wysoki  = 2;
}

var_dump(enum_exists('Status'));         // bool(true)
var_dump(enum_exists('Priorytet'));      // bool(true)
var_dump(enum_exists('NieIstniejacy')); // bool(false)

// class_exists też zwróci true dla enumów, ale enum_exists jest precyzyjniejszy:
var_dump(class_exists('Status'));        // bool(true)
var_dump(enum_exists('Status'));         // bool(true)  — pewność, że to enum
📘 Naucz się w lekcji →