ビューファイル向けの代替のPHP構文
CodeIgniter の テンプレートエンジンを利用したくない場合は、ビューファイルで純粋な PHP を利用することができます。 PHP のコードを最低限にし、コードブロックを簡単に識別できるようにするため、制御構文用の代替の PHP 構文とショートタグを使った出力を利用することをおすすめします。 この構文をあまり使ったことがないでしょうか?これを使えば、 コードから余計な括弧や余計な "echo" 文をなくすことができます。
自動でのショートタグサポート
Note: もし、このページで説明している構文がサーバで利用できないようでしたら "ショートタグ" が php.ini ファイルで無効になっているかもしれません。 CodeIgniter では、オプションで、その都度ショートタグ機能の設定を上書きして、サーバでサポートされていない場合でも、 その構文を利用できるようにすることができます。この機能は、 config/config.php ファイルで有効化することができます。
この機能を利用する場合、ビューファイルでPHP エラーが起こったとき、 エラーメッセージと行番号が正しく表示されないのに注意してください。 すべてのエラーは、eval() を実行したときのエラーとして表示されます。
Echo による出力の代替
通常、何かを出力したり、変数を出力したりするには次のようにします:
<?php echo $variable; ?>
代替の構文を用いると代わりに次のようにすることができます:
<?=$variable?>
制御構造の代替
if、for、foreach、それから while のような制御構造は、 次のような単純化されたフォーマットで書くことができます。foreach を使った例は次の通りです:
<ul>
<?php foreach ($todo as $item): ?>
<li><?=$item?></li>
<?php endforeach; ?>
</ul>
中括弧がいらないのを注意してください。終わりの中括弧が代わりに endforeach に置きかわっています。 各制御構造は、次にリストアップされるように、上記と似た終了の構文になります: endif、endfor、endforeach、および endwhile
また、各制御構造は(最後のものを除き)、各文の末尾にセミコロン ( ";" ) を使う代わりに、コロン ( ":" ) を置くことを注意してください。 これは重要です!
下記は、if/elseif/else を使ったもう一つの例です。コロンのところを注意してみてください:
<?php if ($username == 'sally'): ?>
<h3>Sally さん、こんにちは</h3>
<?php elseif ($username == 'joe'): ?>
<h3>Joe さん、こんにちは</h3>
<?php else: ?>
<h3>誰かさん、こんにちは</h3>
<?php endif; ?>