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'
};
}
}