ThinkPHP模板判断输出Defined标签用法详解

时间:2022-04-23 16:35:45

ThinkPHP模板引擎的defined标签用于判断常量是否已经被定义
ThinkPHP的defined标签用来判断常量是否已经被定义,其功能相当于PHP中的defined()函数。defined标签用法如下:

?
1
<present name="常量">要输出的内容</present>

先在模块操作(如:Index/display )里定义一个常量并输出模板:

?
1
2
define("SITE_NAME", "服务器之家");
$this->display();

在模板/Tpl/default/Index/display.html中使用defined标签如下:

?
1
<defined name="SITE_NAME">网站名称:{*SITE_NAME}</defined>

运行该示例会输出:

?
1
网站名称:服务器之家

该例子等价的php代码如下:

?
1
2
3
4
5
<?php
if(defined("SITE_NAME")){
  echo '网站名称:',constant("SITE_NAME");
}
?>

如果判断没有被定义,可以使用:

?
1
<notdefined name="SITE_NAME">{*SITE_NAME}不存在活未定义</notdefined>

以上两个示例合并之后如下:

?
1
<defined name="SITE_NAME">网站名称:{*SITE_NAME}<else/>{*SITE_NAME}不存在活未定义</defined>