Что такое enum в PHP?

Ответ

Enum (PHP 8.1+) - перечислимый тип, представляющий фиксированный набор значений:

// Unit enum (без значений)
enum Status {
    case Active;
    case Inactive;
    case Banned;
}

// Backed enum (со скалярными значениями)
enum Color: string {
    case Red = 'red';
    case Green = 'green';
    case Blue = 'blue';
}

$c = Color::Red;
echo $c->value;              // "red"
$c = Color::from('green');    // Color::Green
$c = Color::tryFrom('xxx');   // null

Enum может содержать методы, реализовывать интерфейсы, использовать трейты. Не может иметь конструктор или свойства (кроме readonly в backed). Отлично подходит для конечных автоматов, статусов, типов.

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.