如何從代碼中消滅大括號和“echo”語句 ... 我剛知道... 原來... 如此...

from: http://codeigniter.org.cn/user_guide/general/alternative_php.html


視圖文件的 PHP 替代語法

如果你不使用 CodeIgniter 的模板引擎,則你可以在視圖文件中使用原始 PHP 代碼。要使 PHP 代碼達到最精簡併使其更容易辨認,因此建議你使用 PHP 替代語法控制結構及短標記的 echo 語句。 建議你使用 PHP 的語法爲你的控制結構和簡短的輸出標籤。如果你還不熟悉這個語法,下面你將學會如何從代碼中消滅大括號和“echo”語句。

自動短標記支持

注:如果你發現本頁描述的語法在你的服務器上不工作,它可能是“短標記”,並且在你的 PHP ini 文件中禁用了。CodeIgniter 可以重寫所有短標記,讓你使用這個語法即使你的服務器不支持它。這個特性可以在你的config/config.php 文件中打開($config['rewrite_short_tags'])。

請注意,如果你使用這個特性,如果在你的視圖文件中發生 PHP 錯誤,則錯誤信息和行號將無法準確顯示。相反,所有的錯誤將顯示爲 eval () 的錯誤。

替代 Echo

正常的 echo 和 print 輸出一般是這樣的形式:

<?php echo $variable; ?>

使用替代語法,你能改成這樣的形式:

<?=$variable?>

替代控制結構

控制結構,像 ifforforeach,和 while 也可以寫成簡化的形式。這裏是一個用 foreach 的例子:

<ul>

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

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

<?php endforeach; ?>

</ul>

注意,這裏沒有大括號。相反,結束大括號被替換成了 endforeach。上面列出的每一個控制結構也有相似的關閉語法: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; ?>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章