鍍金池/ 教程/ PHP/ 視圖文件的 PHP 替代語(yǔ)法
模型
歡迎來(lái)到 CodeIgniter
通過(guò) CLI 執(zhí)行 CodeIgniter
自動(dòng)載入資源
初探 CodeIgniter
創(chuàng)建核心系統(tǒng)類
應(yīng)用程序流程圖
安裝指南
CodeIgniter 特性
應(yīng)用性能分析
web 頁(yè)面緩存
公共函數(shù)
安全
處理多環(huán)境
使用 CodeIgniter 庫(kù)
管理你的應(yīng)用程序
創(chuàng)建輔助類
兼容性函數(shù)
開(kāi)始 CodeIgniter
視圖
視圖文件的 PHP 替代語(yǔ)法
結(jié)束語(yǔ)
靜態(tài)頁(yè)面
URI 路由
錯(cuò)誤處理
版本升級(jí)
創(chuàng)建新聞
CodeIgniter URL
讀取新聞
鉤子 - 擴(kuò)展系統(tǒng)核心
設(shè)計(jì)和架構(gòu)目標(biāo)
保留字
疑難解答
下載 CodeIgniter
模式-視圖-控制
輔助函數(shù)
控制器
創(chuàng)建適配器
PHP 開(kāi)發(fā)規(guī)范

視圖文件的 PHP 替代語(yǔ)法

如果你不使用 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ǔ)句。

自動(dòng)短標(biāo)簽支持

注意: 如果你發(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

echo,或者打印一個(gè)變量,可以這么寫(xiě):

<?php echo $variable; ?>

使用替換語(yǔ)法,你可以這么寫(xiě):

<?=$variable?>

替代控制結(jié)構(gòu)

控制結(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; ?>