Uma novidade no PHP 7.4 é operador de coalescência nula. Mas o que diabos é coalescência?
De acordo com a internet:
O conceito de coalescência, que tem origem no vocábulo latino coalescens, é a propriedade de as coisas se fundirem ou unirem. As substâncias ou os materiais coalescentes são aqueles que se podem unir num único corpo.
Boa, e como ele foi implementado no PHP?
Imagine que você precise atribuir um valor à uma variável. E como condição, caso essa mesma variável não esteja instanciada deve-se atribuir um outro valor:
1 - Primeira idéia:
if (isset($usuario)) {
$usuario = 'outro valor'
}
2 - Melhorando com operador ternário:
$usuario = isset($usuario) ? $usuario : 'outro valor';
3 - Usando coalescência agora:
$usuario = $usuario ?? 'outro valor';
ou enão de forma mais enxuta:
$usuario ??= 'outro valor';
Todos os exemplos acima fazem a mesma coisa. E uma dica extra, também é possível fazer vários encadeamentos, dessa forma:
$usuario = $usuario ?? $_GET['usuario'] ?? $_POST['usuario'] ?? 'outro valor';
Nesse caso a variável $usuario
será atribuída com o primeiro valor encontrado.
Referências:
1 - https://www.php.net/manual/pt_BR/migration70.new-features.php
2 - https://cursos.alura.com.br/novidades-do-php-7-4-operador-de-atribuicao-com-coalescencia-nula-c291
3 - https://conceito.de/coalescencia
Top comments (0)