在视图文件中使用 PHP 替代语法
如果不使用模板引擎来简化输出,视图文件将直接采用纯 PHP 编写。
为了精简代码并提高代码块的辨识度,建议对控制结构使用 PHP 替代语法,并配合短标签进行输出。
这种语法可以消除代码中的大括号和 echo 语句。
替代输出语法
通常,要输出变量的值,做法如下:
<?php echo esc($variable); ?>
使用替代语法,可以这样写:
<?= esc($variable) ?>
替代控制结构
if、for、foreach 以及 while 等控制结构也可使用简化格式编写。以下是 foreach 的使用示例:
<ul>
<?php foreach ($todo as $item): ?>
<li><?= esc($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 ?>