DesenvolvedorWordPress WhatsApp

O operador ?-> evita a cascata de if de null

Aquela pirâmide de if ($a && $a->b() && $a->b()->c()) tem uma forma curta.

Falar comigo no WhatsApp

Dica de PHP · publicada em

Encadear chamadas em WordPress é arriscado porque muita função devolve null ou false quando não encontra: get_post(), wc_get_order(), get_user_by(). Chamar método em null é fatal.

O operador ?-> interrompe a cadeia devolvendo null se o lado esquerdo for null, em vez de explodir. O código fica linear em vez de aninhado.

Um cuidado: ele não protege contra false, e várias funções do WordPress devolvem false, não null. Nesses casos, normalize antes com ?: null ou trate explicitamente.

// varias funcoes do WP devolvem false, entao normalize primeiro
$pedido = wc_get_order($id) ?: null;
$cidade = $pedido?->get_address()['city'] ?? '';

$autor = get_post($post_id)?->post_author;

Na prática: ?-> só cobre null. Função do WP que devolve false: normaliza com ?: null antes.

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