# CodeIgniter ユーザガイド 日本語版 Version 2.0.3

ユーザガイドを検索

# ビューファイル向けの代替の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; ?>`