Перечисления также могут иметь статические методы. Использование статических методов в самом перечислении в основном предназначено для альтернативных конструкторов. Например:

<?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,
        };
    }
}
?>

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