Enumeration static methods

Оновлено: 09.05.2023

Зчислення також можуть мати статичні методи. Статичні методи у самому зчисленні використовуються переважно для альтернативних конструкторів. Наприклад

<?php
enum Size
{
    case Small;
    case Medium;
    case Large;

    public static function fromLength(int $cm): static
    {
        return match(true) {
            $cm < 50 => static::Small,
            $cm < 100 => static::Medium,
            default => static::Large,
        };
    }
}
?>

Статичні методи можуть бути загальнодоступними, приватними або захищеними, хоча на практиці приватні та захищені є еквівалентними, оскільки успадкування не дозволяється.