如果你不使用 CodeIgniter 的模板語(yǔ)法,你可以在視圖文件中使用原始的 PHP 代碼。要使這些文件里的 PHP 代碼最小化,并讓他們?nèi)菀妆嬲J(rèn),建議你使用 PHP 替代語(yǔ)法,來(lái)控制結(jié)構(gòu)和短標(biāo)簽 echo 語(yǔ)句。如果你不熟悉這個(gè)語(yǔ)法,下面內(nèi)容將會(huì)讓你消滅大括號(hào)和 "echo" 語(yǔ)句。
注意: 如果你發(fā)現(xiàn)本頁(yè)描述語(yǔ)法在你的服務(wù)器上不能工作,可能是因?yàn)槟愕?PHP ini 文件禁用了 "short tags"。CodeIgniter 將會(huì)選擇性的重寫(xiě),運(yùn)行你使用語(yǔ)法,及時(shí)你的服務(wù)器不支持??梢栽?config/config.php 文件中打開(kāi)這個(gè)特性。
請(qǐng)注意,如果你使用這個(gè)特性,如果 PHP 錯(cuò)誤在你的視圖文件中出現(xiàn),錯(cuò)誤消息和行數(shù)不會(huì)準(zhǔn)確的出現(xiàn)。相反,所有的錯(cuò)誤將會(huì)展示為 eval()
錯(cuò)誤。
echo,或者打印一個(gè)變量,可以這么寫(xiě):
<?php echo $variable; ?>
使用替換語(yǔ)法,你可以這么寫(xiě):
<?=$variable?>
控制結(jié)構(gòu),像 if,for,foreach,和 while 也可以寫(xiě)成簡(jiǎn)化的形式。這里是一個(gè)用 foreach 的例子:
<ul>
<?php foreach ($todo as $item): ?>
<li><?=$item?></li>
<?php endforeach; ?>
</ul>
注意,這里沒(méi)有大括號(hào),它被 endforeach
替換。每個(gè)上述的控制結(jié)構(gòu)擁有相同結(jié)束語(yǔ)法:endif
, endfor
, endforeach
, 和 endwhile
.
同時(shí)也需要注意,每個(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; ?>