视图文件的 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; ?>