DesenvolvedorWordPress WhatsApp

Enum substitui constante de string com validação de graça

Status escrito como string em vinte lugares é erro de digitação esperando para acontecer.

Falar comigo no WhatsApp

Dica de PHP · publicada em

O padrão comum é usar strings soltas: 'pendente', 'processando', 'concluido'. O problema é que 'concluído' com acento, ou 'Concluido' com maiúscula, passam sem reclamação e quebram a comparação.

Um enum com valor de apoio (backed enum) resolve: o tipo garante que só valores válidos circulem, a IDE autocompleta, e tryFrom() converte string externa devolvendo null quando o valor não existe — perfeito para validar dado vindo de requisição.

Você ainda pode colocar métodos no enum, o que é ótimo para o rótulo traduzido ou a cor do badge no admin.

enum StatusPedido: string {
    case Pendente   = 'pendente';
    case Processando = 'processando';
    case Concluido  = 'concluido';

    public function rotulo(): string {
        return match($this) {
            self::Pendente    => 'Aguardando',
            self::Processando => 'Em separação',
            self::Concluido   => 'Concluído',
        };
    }
}

$status = StatusPedido::tryFrom($_POST['status'] ?? '');  // null se invalido

Na prática: tryFrom() para validar entrada externa: devolve null em vez de explodir.

Precisa resolver isso no site de um cliente agora?

Me chame no WhatsApp com o contexto. Diagnóstico inicial sem compromisso.

WhatsApp: (43) 99932-9697

ou e-mail: [email protected]

Tem alguma dúvida? Ficarei feliz em ajudar. Clique Aqui