在視圖文件中使用PHP替代語法?

如果你不使用模板引擎來簡化輸出,那么意味著你將在視圖文件中使用純 PHP 語法。為了精簡視圖文件中的 PHP 代碼同時增強代碼的可讀性,建議你在寫控制結(jié)構(gòu)和 echo 語句時使用 PHP 的替代語法。如果你對這個語法還不熟悉,下面將介紹如何通過這個語法來消除你代碼中的大括號和 echo 語句。

Echo 的替代語法?

通常來說,你在輸出或打印一個變量的時候會這樣做:

<?php echo $variable; ?>

而使用替代語法,你可以寫成這樣:

<?= $variable?>

控制結(jié)構(gòu)的替代語法?

像 if、for、foreach、while 這樣的控制結(jié)構(gòu)也可以寫成簡化格式。下面以 foreach 舉例:

<ul>

<?php foreach ($todo as $item) : ?>

        <li><?= $item ?></li>

<?php endforeach ?>

</ul>

注意這里沒有任何括號,結(jié)束括號被 endforeach 取而代之。上面列舉出的那些控制結(jié)構(gòu)都有相似的結(jié)束標志: endif, endfor, endforeachendwhile。

同時要注意的是,每個結(jié)構(gòu)分支后面都要跟一個冒號(除了最后一個),而不是分號,這很重要!

這是另外一個樣例,使用了 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 ?>