枚举也能有静态方法。 在枚举中静态方法主要用于取代构造器,如:
<?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,
        };
    }
}
?>
仅管 enum 可以包括 public、private、protected 的静态方法, 但由于它不支持继承,因此在实践中 private 和 protected 效果是相同的。