Cada vez mais me convenço de que a programação é uma arte! E como cada artista tem seu próprio estilo, cara programador é capaz de desenvolver seu próprio método de organizar seu código fonte.
É muito comum em alguns sistemas, dependendo do estudo de caso, testar a existência de uma determinada variável antes de exibí-la na tela. E cada programador tem sua forma favorita de fazer isso em PHP. Seja com if em sintaxe clássica:
if(isset($menu)){
print($menu);
}
Ou uma forma mais resumida, em casos simples:
if(isset($menu)) print($menu);
Outro método muito utilizado utilizado é o if ternário:
echo isset($menu) ? $menu : '';
Hoje pela manhã, recebemos no grupo de discussão sobre o CodeIgniter, uma sugestão do nosso amigo Edinho era basicamente substituir esta sequência de aninhamentos por um código simples, de apenas uma linha:
isset($menu) AND print($menu);
Em teoria, o PHP só executa o segunto teste (após o AND) se o primeiro for verdadeiro. Ou seja, a variável $menu só será exibida se o valor retornado por isset() for true, caso contrário o print() nem será executado.
Um outro exemplo:
$a=1;
true OR $a=2;
echo $a; //imprimirá 1
O resultado de $a será 1, já que a primeira condição é verdadeira. Caso fosse falsa, o código após o operador OR seria executado, alterando assim o valor de $a para 2.
Um terceiro caso:
!empty($valor) OR $valor=3;
Em palavras, a variável $valor não pode ser vazia 'ou' será atribuido 3 a ele.
Esse método de programação é muito utilizado em Ruby, e também incentivado no framework Kohana. Mas o pessoal do Zend Framework pregam um estilo mais tradicional de programação, onde são utilizados <?php echo $var; ?> em vez do simpático <?= $var; ?>.
Talvez esse possa não ser o mais eficaz dos métodos; talvez você prefira utilizar métodos de verificação mais simples de ler; mas em uma coisa temos que concordar: programadores são verdadeiros artistas! ;-)