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.

To Top