• Twitter
  • GitHub
  • Flickr
  • Skype
  • Stack Overflow em Português

Blog

Como instalar o Drupal via Composer num ambiente de desenvolvimento Docker?: Conteúdo atualizado - junho 2020 Como dito no Wikipédia, “Drupal é um framework modular e um...

Melhor com o operador NULL COALESCE do PHP7

Escreveu uma instrução if/else ou utilizou o operador ternário para um caso específico? Talvez a nova feature do PHP7, o operador "??"(null coalesce), seja a forma mais limpa para escrever o código.
Nós temos o nosso amigo condicional "?:" (ternário) que realiza tarefas de atribuição como na expressão: (expr1) ? (expr2) : (expr3) é avaliada para expr2 se expr1 é avaliada como TRUE, ou expr3 se expr1 é avaliada como FALSE.

Veja:

//o operador condicional "?:" (ternário) 
$action = (empty($_POST['action'])) ? 'default' : $_POST['action'];

//A descrição acima é idêntica a esta instrução if/else
if (empty($_POST['action'])) {
    $action = 'default';
} else {
    $action = $_POST['action'];
}

Com a nova feature do PHP7, o operador "??"  é responsável por retornar o primeiro valor, verificando a expr1, caso não exista ou seja nulo, será setado o valor expr2.
Ex.: 

$action = $_POST['action'] ?? 'default';

E o mais interessante, isso nos permite encadear uma série de valores, lendo da esquerda para a direita. Por exemplo como neste outro caso:

//$a não definido
$b = 10;

echo $a ?? 1; //imprime 1
echo $a ?? $b ?? 1; //imprime 10

Veja muito mais sobre PHP7 Novos Recursos.
[],s