CodeIgniter 使用手冊版本 2.1.4


Views 檔變換 PHP 句法

如果你不使用 CodeIgniter 的 樣板引擎(template engine),就得在 View files 用純 PHP 句法 。為了最少化 PHP 程式碼在這檔案中的比重,以及要讓 View files 可以比較簡單的辨識出程式碼區塊,我們會建議你使用變換 PHP 句法的功能 ,這樣就可以利用較簡易的控制結構以及 short tag 語法。如果你不熟悉這些句法,你也可以選擇不要使用。。

自動支援 Short Tag

注意: 如果你發現在這章節中的句法,無法在你的伺服器運作的話,這有可能是在你的 PHP ini 檔案裡頭,其中的 short tags 功能被關閉了。 就算你的伺服器不支援這個功能,你還是能夠依照需求修改 config/config.php,讓 CodeIgniter 可以啟用語法支援。

請留意如果你啟用了這個功能的話,假設你的 view files 發生 PHP 錯誤的話,錯誤訊息 以及實際的行號則不會確實顯示出來。所有的錯誤則會被當成是 eval() 錯誤。

變換 Echos

一般使用 echo 或是印出變數的作法:

<?php echo $variable; ?>

使用變換句法後,你就可以換成這個表達方式:

<?=$variable?>

變換控制結構

一些控制結構像是 ifforforeach,以及 while 也可被寫程簡單的格式。這裡有個範例使用 foreach 的控制結構:

<ul>

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

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

<?php endforeach; ?>

</ul>

請注意這邊沒有結束括號,而是以 endforeach 來取代。下列的所有控制結構有相同的結束句法(closing syntax): endifendforendforeach,以及 endwhile

也請注意到,在每個結構之後(除了最後一個)使用的不分號(;),而是冒號(:)。這很容易稿錯。

這邊還有別的範例,使用 if/elseif/else 控制結構。請留意分號的地方:

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

   <h3>Hi Sally</h3>

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

   <h3>Hi Joe</h3>

<?php else: ?>

   <h3>Hi unknown user</h3>

<?php endif; ?>