Code Igniter User Guide Version 1.5.2


Sintaxe PHP Alternativa para arquivos de Visualização (View files)

Se você não utilizar o template engine do Code Igniter, estará utilizando puro PHP em seus arquivos de visualização. Para minimizar o código PHP nestes arquivos, e tornar mais fácil identificar os blocos de código, é recomendado que você use a sintaxe alternativa do PHP para estruturas de controle e expressões echo curtas. Se você não está familiarizado com esta sintaxe, ela permite que você elimine as chaves no código, e também os comandos "echo".

Suporte automático a Short Tag

Nota: Se descobrir que a sintaxe descrita nesta página não funciona em seu servidor, deve ser porque as "short tags" estão desabilitadas em seu arquivo PHP ini. O Code Igniter irá, opcionalmente, reescrever as short tags on-the-fly, permitindo que você use esta sintaxe mesmo que seu servidor não a suporte. Esta funcionalidade pode ser habilitada em seu arquivo config/config.php.

Por favor note que, usando funncionalidade, erros PHP que possam acontecer em seus arquivos View, não terão sua mensagem e número de linha precisamente mostrados. Ao invés disto, todos os erros serão mostrados como erros eval().

Echos Alternativos

Normalmente para dar echo ou print numa váriavel, você faria assim:

<?php echo $variable; ?>

Com a sintaxe alternativa, pode fazer desta maneira:

<?=$variable?>

Estruturas de Controles Alternativas

Estruturas de controle, como if, for, foreach, e while também podem ser escritas de um jeito simplificado. Aqui vai um exemplo usando foreach:

<ul>

<?php foreach($afazeres as $item): ?>

<li><?=$item?></li>

<?php endforeach ?>

</ul>

Note que não há chaves. Ao invés disto, a chave do final foi trocada por um endforeach. Cada estrutura listada acima tem uma sintaxe de fechamento similar: endif, endfor, endforeach, e endwhile

Note também que no lugar de usar um ponto e vírgula para cada estrutura (exceta a última), há o sinal de dois pontos. Isto é importante!

Outro exemplo, usando if/elseif/else. Note os dois pontos:

<?php if ($username == 'sally'): ?>

   <h3>Oi Sally</h3>

<?php elseif ($username == 'joe'): ?>

   <h3>Oi Joe</h3>

<?php else: ?>

   <h3>Oi usuário desconhecido</h3>

<?php endif; ?>