# CodeIgniter 用户指南 版本 2.2.0

编辑文档、查看近期更改请 登录 或 注册 找回密码

搜索用户指南

查看原文

# 视图文件的 PHP 替代语法

如果你不使用 CodeIgniter 的模板引擎，则你可以在视图文件中使用原始 PHP 代码。要使 PHP 代码达到最精简并使其更容易辨认，因此建议你使用 PHP 替代语法控制结构及短标记的 echo 语句。 建议你使用 PHP 的语法为你的控制结构和简短的输出标签。如果你还不熟悉这个语法，下面你将学会如何从代码中消灭大括号和“echo”语句。

## 自动短标记支持

注：如果你发现本页描述的语法在你的服务器上不工作，它可能是“短标记”在你的 PHP ini 文件中禁用了。CodeIgniter 可以重写所有短标记，让你使用这个语法，即使你的服务器不支持它。这个特性可以在你的 config/config.php 文件中打开（$config['rewrite_short_tags']）。

请注意，如果你使用这个特性，如果在你的视图文件中发生 PHP 错误，则错误信息和行号将无法准确显示。相反，所有的错误将显示为 `eval ()` 的错误。

## 替代 Echo

正常的 echo 和 print 输出一般是这样的形式：

`<?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; ?>`

翻译贡献者: chenshenghan, csfhc, Hex, iiiiissss, laotan, levin
最后修改: 2013-11-02 08:00:20