DesenvolvedorWordPress WhatsApp

match() é mais seguro que switch e cabe em uma linha

O switch do PHP compara de forma frouxa e exige break. O match resolve os dois problemas.

Falar comigo no WhatsApp

Dica de PHP · publicada em

O switch usa comparação solta: case 0 casa com a string "texto" em versões antigas do PHP, e esquecer um break faz o código cair no próximo caso. Os dois já causaram bug em código de produção.

O match compara de forma idêntica (tipo e valor), é uma expressão que retorna valor, e lança UnhandledMatchError se nenhum braço casar — o que é bom: um status novo aparece como erro visível em vez de virar comportamento silencioso.

Em plugin WordPress ele brilha nos mapeamentos: status de pedido para rótulo, tipo de campo para função de sanitização, código de erro para mensagem.

$rotulo = match ($pedido->get_status()) {
    'pending', 'on-hold' => 'Aguardando pagamento',
    'processing'         => 'Em separação',
    'completed'          => 'Concluído',
    default              => 'Status desconhecido',
};

Na prática: usa match para mapear valor a valor. Só lembra do default se não quiser exceção em caso novo.

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