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