Como implementar corretamente Enum em PHP sem suporte nativo?
Olá a todos! Sou um desenvolvedor PHP iniciante e me deparei com um problema. Em outras linguagens (Java, C#) existe uma construção conveniente enum que permite definir um conjunto fixo de constantes. Por exemplo, status de pedido: "novo", "em processamento", "enviado", "entregue".
No PHP não encontrei um enum nativo. Tentei usar constantes de classe comuns:
class OrderStatus {
const NEW = 'new';
const PROCESSING = 'processing';
const SHIPPED = 'shipped';
const DELIVERED = 'delivered';
}
$status = OrderStatus::NEW;
Mas isso não é conveniente. Não consigo verificar se a variável $status contém apenas um dos valores permitidos. É possível atribuir acidentalmente $status = 'invalid_status', e nenhum erro