在视图文件中使用 PHP 替代语法
如果你不使用 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; ?>
当前内容版权归 CodeIgniter中国 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 CodeIgniter中国 .