CI框架在視圖頁使用IF語法

如果你不使用 CodeIgniter 的 模板引擎, 那麼你就只能在視圖文件中使用純 PHP 語法了。爲了精簡視圖文件, 使其更可讀,建議你在寫控制結構或 echo 語句時使用 PHP 的替代語法。 如果你還不熟悉這個語法,下面將介紹如何通過這個語法來消滅你代碼 中的大括號和 echo 語句。

自動短標記支持

如果你發現本頁所介紹的語法在你的服務器上行不通,那麼有可能是 你的 PHP.ini 文件中禁用了 “短標記”。CodeIgniter 可以動態的重寫 所有的短標記,這樣即使你的服務器不支持你也可以使用短標記語法。 這個特性可以在 config/config.php 文件中啓用。

注意,如果你使用了這個特性,當你的視圖文件發生 PHP 錯誤時, 錯誤信息和行號將無法準確顯示,因爲所有的錯誤都顯示成 eval() 錯誤。

Echo 替代語法

通常情況,你會使用下面的方法來打印一個變量:

<?php echo $variable; ?>

使用替代語法,你可以寫成這樣:

<?=$variable?>

控制結構的替代語法

像 if、for、foreach、while 這樣的控制結構也可以寫成精簡的格式。 下面以 foreach 舉例:

<ul>

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

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

<?php endforeach; ?>

</ul>

注意這裏沒有任何括號。所有的結束括號被替換成了 endforeach 。 上面說的那些控制結構也都有這相似的結束標誌:endif 、 endfor 、endforeach 和 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; ?>

 

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