Métodos estáticos de enumerações
Enumerações também podem ter métodos estáticos. O uso para métodos estáticos na própria enumeração é primariamente para construtores alternativos. P. ex.:
<?php
enum Tamanho
{
case Pequeno;
case Medio;
case Grande;
public static function deComprimento(int $cm): static
{
return match(true) {
$cm < 50 => static::Pequeno,
$cm < 100 => static::Medio,
default => static::Grande,
};
}
}
?>
Métodos estáticos podem ser públicos, privados, ou protegidos apesar dos privados e protegidos são equivalentes na prática, pois herança não é permitida.