PHP模板语法


前言

PHP目前支持四种标签格式:
  1. <?php //php代码 ?>
  2. <? //php代码 ?>
  3. <script language="php"> //php代码 </script>
  4. <% //php代码 %>
上述四种中(例2)和(例4)还支持简写echo符 "=" 

短标签用法<?= 'hello' ?> //打印hello,与<?php echo 'hello';?>作用一致,所以称为简写echo

ASP风格标签用法<%= 'world' %> //打印world

自 PHP 5.4 起,短标签的 echo 标记 <?= 总会被识别并且合法,而不管 short_open_tag 的设置是什么。

但使用<?  ?> 短标签则需要php.ini开启 short_open_tag 字段,使用<% %>ASP风格标签短需要php.ini开启 asp_tags 打开后才可用。

官方目前推荐使用的标签为<?php ?> + <?=?>短标签echo,从5.4起默认合法也能看出php官方是有意支持这种写法的,所以在接下来的用法,我们也默认都使用官方推荐的语法

模板语法

php本身是支持html+php混写的,但在之前的开发经历中,也使用过模板引擎之类的工具,不过既然PHP本身支持为何还要使用一套新的规则来增加新的学习成本呢?所以我们接下来讲讲PHP自身的模板语法:

php在view层(不一定是html文件)的混写主要工作主要还是输出变量,遍历数组,条件判断等,理论上是支持所所有php语法的,但是我们只讲主流使用且在模板书写大量业务逻辑也不是一个好的实践

输出变量:

<?php $name='xiaobai';?>//定义一个变量,可以理解为后端生成并需要输出的一个变量

<html>

<p><?php echo $name;?></p>//默认语法,看着有点长,每次echo要写这么多,是有点烦人的,运行结果:xiaobai

<p><?= $name;?></p>//短标签echo语法,看着简单多了,运行结果:xiaobai

</html>

遍历数组:

php的遍历语法一共有四种:while,do-while,for,foreach

但最常用的还是foreach和for

<?php $names=['xiaobai','xiaohuang','xiaolan','xiaozi'];?>//定义一个数组,可以理解为后端生成并需要输出的一个列表

配合<?=?>短标签echo完成列表输出

<html>

  <ul>

    <?php foreach($names as $key=>$name):  ?>

      <li><?=$name?></li>

    <?php endforeach; ?>

  </ul>

</html>

 

条件判断: