視圖文件的 PHP 替代語法
如果你不使用 CodeIgniter 的模板引擎,則你可以在視圖文件中使用原始 PHP 代碼。要使 PHP 代碼達(dá)到最精簡并使其更容易辨認(rèn),因此建議你使用 PHP 替代語法控制結(jié)構(gòu)及短標(biāo)記的 echo 語句。 建議你使用 PHP 的語法為你的控制結(jié)構(gòu)和簡短的輸出標(biāo)簽。如果你還不熟悉這個語法,下面你將學(xué)會如何從代碼中消滅大括號和“echo”語句。
自動短標(biāo)記支持
注:如果你發(fā)現(xiàn)本頁描述的語法在你的服務(wù)器上不工作,它可能是“短標(biāo)記”,并且在你的 PHP ini 文件中禁用了。CodeIgniter 可以重寫所有短標(biāo)記,讓你使用這個語法即使你的服務(wù)器不支持它。這個特性可以在你的 config/config.php 文件中打開($config['rewrite_short_tags'])。
請注意,如果你使用這個特性,如果在你的視圖文件中發(fā)生 PHP 錯誤,則錯誤信息和行號將無法準(zhǔn)確顯示。相反,所有的錯誤將顯示為 eval () 的錯誤。
替代 Echo
正常的 echo 和 print 輸出一般是這樣的形式:
<?php echo $variable; ?>
使用替代語法,你能改成這樣的形式:
<?=$variable?>
替代控制結(jié)構(gòu)
控制結(jié)構(gòu),像 if,for,foreach,和 while 也可以寫成簡化的形式。這里是一個用 foreach 的例子:
<ul>
<?php foreach ($todo as $item): ?>
<li><?=$item?></li>
<?php endforeach; ?>
</ul>
注意,這里沒有大括號。相反,結(jié)束大括號被替換成了 endforeach。上面列出的每一個控制結(jié)構(gòu)也有相似的關(guān)閉語法:endif,endfor,endforeach,和 endwhile
并且在每個結(jié)構(gòu)以后注意不要使用分號(除了最后一個),用冒號。這是很重要的!
這有另一個例子,使用 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; ?>
?