If inline para PHP
Este simples recurso pode facilitar muito a vida de quem programa e economizar algumas dezenas de linhas de código.
Introdução
O if inline é um comando muito simples, mas vale ressaltar alguns cuidados no seu
uso, pois se exagerar, ao invés de ajudar ele pode te atrapalhar, então valem duas
considerações.
Normalmente quando construímos um programa PHP utilizamos comandos de comparação para determinar a atribuição de valores a uma variável, e se fizermos a conta como no exemplo a seguir podemos concluir que podem ser gastas até oito linhas para criar esta estrutura.
- Não utilize if inline com condições muito complexas, isto é, ($d = (!(($a-$b)>$c) == true)), embora funcione pode prejudicar a visualização do código por outros programadores.
- Não se esqueça sempre de considerar a condição inversa, isto é, o else mesmo que ele seja branco.
Normalmente quando construímos um programa PHP utilizamos comandos de comparação para determinar a atribuição de valores a uma variável, e se fizermos a conta como no exemplo a seguir podemos concluir que podem ser gastas até oito linhas para criar esta estrutura.
1: if($a > $b)
2: {
3: $c = $b - $a;
4: }
5: else
6: {
7: $c = 0;
8: }
2: {
3: $c = $b - $a;
4: }
5: else
6: {
7: $c = 0;
8: }
Agora vamos simplificar tudo isso em uma única linha de comando:
1: $c = ($a > $b) ? $b - $a : 0;
Neste exemplo utilizamos a seguinte expressão:
$c é igual a (se $a for maior que $b) ?
então armazene em $c o resultado de $b menos $a :
caso contrário armazene em $c o valor 0;
O maior benefício deste comando é que em situações onde é necessário realizar i diversos cálculos em seqüencia e respeitando condições podemos economizar um monte de linhas de código e fugir do risco de esquecer de um abre ou fecha parênteses.
Acarretando em dificuldade de compreensão de código.
Muita gente não conhece, mas exite outra alternativa bastante clara:
if ($a > $b):
$c = $b - $a;
else:
$c = 0;
endif;
ou na mesma linha,
if ($a > $b): $c = $b - $a; else: $c = 0; endif;
Podemos também ter um elseIF,
if ($a > $b):
$c = $b - $a;
elseif($a < $b):
$c = 1;
else:
$c = 0;
endif;