# 在视图文件中使用 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 ?>