在视图文件中使用 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。前述各类控制结构均有类似的结束语法:endifendforendforeach 以及 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 ?>