在视图文件中使用 PHP 替代语法

如果你不使用模板引擎来简化输出, 你将在视图文件中使用纯 PHP 。为了最大限度地减少这些文件中的 PHP 代码,并更易于识别代码块,建议使用 PHP 的替代语法来控制结构和短标签 echo 语句。 如果你不熟悉这种语法,它可以消除代码中的大括号,并消除 “echo” 语句。

替代 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 替换。上面列出的每个控制结构都有类似的结束语法: endifendforendforeachendwhile

同样要注意的是,除了最后一个结构外,每个结构后面都使用冒号,而不是分号。这很重要!

这里是一个使用 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 ?>