interfaces/IEnumNamed.md


Интерфейс IEnumNamed

Пространство имён: goodboyalex\php_components_pack\interfaces
Версия: 1.0
Доступно с: 1.5.11

Описание

Интерфейс определяет контракт для перечислений, которые содержат метод преобразования значения в текстовое представление.

Методы интерфейса

toName

public static function toName (mixed $enumValue, array $caseNames = []): string

Описание: Преобразование варианта перечисляемого значения в текстовое представление.

Параметры:

  • enumValue (mixed) — вариант перечисляемого значения;
  • caseNames (array) — массив с именем варианта перечисляемого значения.

Возвращаемое значение:

  • string — текстовое представление варианта перечисляемого значения.

Примеры реализации

enum VarNotBoolAction: int implements IEnumNamed {
    case Ignore = 0;
    case ConsiderItTrue = 1;
    case ConsiderItFalse = 2;
    
    public static function toName (mixed $enumValue, array $caseNames = []): string {
        if ($enumValue === null)
            return $caseNames['null'] ?? 'Любой / Any';
        return match ($enumValue) {
            self::Ignore => $caseNames['Ignore'] ?? 'Игнорировать это утверждение / Ignore this assertion',
            self::ConsiderItTrue => $caseNames['ConsiderItTrue'] ??
                'Считать это утверждение истинным / Consider this assertion as true',
            self::ConsiderItFalse => $caseNames['ConsiderItFalse'] ??
                'Считать это утверждение ложным / Consider this assertion as false'
        };
    }
}

На главную | Содержание