PHP.nl

Enumeration static methods

Statische methoden van enumeraties

Enumeraties kunnen ook statische methoden hebben. Het gebruik van statische methoden op de enumeratie zelf is voornamelijk voor alternatieve constructors. Bijv.:

<?php

enum Size
{
    case Small;
    case Medium;
    case Large;

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

Statische methoden kunnen publiek, privé of beschermd zijn, hoewel in de praktijk privé en beschermd gelijkwaardig zijn, aangezien overerving niet is toegestaan.

Documentatie