O operador ternário intimida um pouco os novatos em programação, porém o seu uso facilita o desenvolvimento e poupa boas linhas de código.
A sintaxe clássica do ternário é a seguinte:
$resultado = (teste_booleano)?valor_se_verdadeiro:valor_se_falso;
Caso o resultado do teste booleano seja true, a variável $resultado receberá “valor_se_verdadeiro”. Caso o resultado do teste booleano seja false, a variável $resultado receberá “valor_se_falso”.
Vamos ver um exemplo:
$vendedor = true; $salarioBase = 1000; $bonus = 500; $salario = $vendedor?$salarioBase+$bonus:$salarioBase;
Se não usássemos o ternário no exemplo acima, o código ficaria bem maior. Veja:
$vendedor = true;
$salarioBase = 1000;
$bonus = 500;
if( $vendedor ){
$salario = $salarioBase + $bonus;
}else{
$salario = $salarioBase;
}
Neste caso, podemos observar facilmente que no exemplo anterior, pouparíamos boas linhas de código.
O que muitos não sabem é que o ternário evoluiu.
O lançamento do PHP 5.3 trouxe consigo funcionalidades que só sairiam no PHP 6 e entre elas está o novo ternário. Eis a sua sintaxe:
$resultado = $verdadeiro?:$falso;
No exemplo acima, a variável resultado vai receber o conteúdo da variável $verdadeiro somente se ela for true. Caso contrário, receberá o conteúdo da variável $falso.
Isto nos poupa mais linhas de código ainda, pois muitas vezes executamos operações como a seguir:
$resultado = $obj->metodo()?$obj->metodo():false;
Com o novo ternário, poderíamos reescrever o trecho acima da seguinte forma:
$resultado = $obj->metodo()?:false;
Mais uma vez, poupando alguns caracteres digitados e, neste caso, também processamento, pois chamamos o método apenas uma vez.
E você, já conhecia o novo ternário?
Se gostou do artigo assine o feed, tuite-o, divulgue-o nas redes sociais. E não esqueça de deixar o seu comentário. Vamos fazer a comunidade PHP crescer cada vez mais!
