enumПровереноPHP 8

Backed enum в PHP

Backed enum связывает каждый case с уникальным int или string и безопасно преобразует внешний scalar.

enum Status: string { case Draft = 'draft'; }

Преобразование

Status::from() выбрасывает ValueError для неизвестного значения, tryFrom() возвращает null. Выбор зависит от обязательности входа.

Пример

<?php
$status = Status::tryFrom($input);
if ($status === null) {
    throw new InvalidArgumentException('Неизвестный статус');
}

Хранение

В базе хранится scalar value, а в доменном коде используется case. Миграция должна учитывать удаление или переименование значения.

Ошибка

Enum не заменяет объект, если состоянию нужны сложные инварианты и данные, отличающиеся для каждого экземпляра.

Связанные материалы

Источники и проверка

  • PHP Documentation Group — структурный источник, без внешней ссылки

Последняя содержательная проверка: . Автор-разработчик Михаил Каржин. Методика качества контента.

Данные этого сервиса

Настройки cookie и локальных данных

Аналитика

Текущий статус: не выбран. До согласия обе аналитические системы не загружаются.

Локальные данные

Удаление затрагивает только ключи PHP-сервиса в этом браузере и требует подтверждения.

Политики

Политика конфиденциальности · Политика использования файлов cookie