微信扫一扫打赏支持

thinkphp5内置标签

thinkphp5内置标签

知道内置标签怎么用,查手册的时候好查

却功能的时候在里面找着来用

内置标签一览

 1 内置标签
 2 
 3 变量输出使用普通标签就足够了,但是要完成其他的控制、循环和判断功能,就需要借助模板引擎的标签库
 4 功能了,系统内置标签库的所有标签无需引入标签库即可直接使用。
 5 内置标签包括:
 6 标签名作用包含属性
 7 include 包含外部模板文件(闭合) file
 8 load 导入资源文件(闭合 包括js css import别名) file,href,type,value,basepath
 9 volist 循环数组数据输出name,id,offset,length,key,mod
10 foreach 数组或对象遍历输出name,item,key
11 for For循环数据输出name,from,to,before,step
12 switch 分支判断输出name
13 case 分支判断输出(必须和switch配套使用) value,break
14 default 默认情况输出(闭合 必须和switch配套使用) 无
15 compare 比较输出(包括eq neq lt gt egt elt heq nheq等别名) name,value,type
16 range 范围判断输出(包括in notin between notbetween别名) name,value,type
17 present 判断是否赋值name
18 notpresent 判断是否尚未赋值name
19 empty 判断数据是否为空name
20 notempty 判断数据是否不为空name
21 defined 判断常量是否定义name
22 notdefined 判断常量是否未定义name
23 define 常量定义(闭合) name,value
24 assign 变量赋值(闭合) name,value
25 if 条件判断输出condition
26 elseif 条件判断输出(闭合 必须和if标签配套使用) condition
27 else 条件不成立输出(闭合 可用于其他标签) 无
28 php 使用php代码无
29 内置标签

记住名字是内置标签,然后找的时候好找,这些都是在视图或者模板页面调用

 

volist

 1 循环输出标签
 2 VOLIST标签
 3 
 4 volist标签通常用于查询数据集(select方法)的结果输出,通常模型的select方法返回的结果是一个二维数
 5 组,可以直接使用volist标签进行输出。 在控制器中首先对模版赋值:
 6 $list = User::all();
 7 $this->assign('list',$list);
 8 在模版定义如下,循环输出用户的编号和姓名:
 9 {volist name="list" id="vo"}
10 {$vo.id}:{$vo.name}<br/>
11 {/volist}

这是标签的属性都是双引号,就是写在html页面的东西,双引号

 

比较标签

 1 比较标签
 2 
 3 比较标签用于简单的变量比较,复杂的判断条件可以用if标签替换,比较标签是一组标签的集合,基本上用法
 4 都一致,如下:
 5 {比较标签 name="变量" value="值"}
 6 内容
 7 {/比较标签}
 8 系统支持的比较标签以及所表示的含义分别是:
 9 标签含义
10 eq或者 equal 等于
11 neq 或者notequal 不等于
12 gt 大于
13 egt 大于等于
14 lt 小于
15 elt 小于等于
16 heq 恒等于
17 nheq 不恒等于
18 他们的用法基本是一致的,区别在于判断的条件不同,并且所有的比较标签都可以和else标签一起使用。
19 例如,要求name变量的值等于value就输出,可以使用:
20 {eq name="name" value="value"}value{/eq}
21 或者
22 {equal name="name" value="value"}value{/equal}
23 也可以支持和else标签混合使用:
24 {eq name="name" value="value"}
25 相等
26 {else/}
27 不相等
28 {/eq}

 

实例

1 <td align="center">
2     {if condition="$vo['type'] eq 1"}
3     列表
4     {else /}
5     单页
6     {/if}
7 </td>

 

if标签

 1 IF标签
 2 
 3 用法示例:
 4 {if condition="($name == 1) OR ($name > 100) "} value1
 5 {elseif condition="$name eq 2"/}value2
 6 {else /} value3
 7 {/if}
 8 除此之外,我们可以在condition属性里面使用php代码,例如:
 9 {if condition="strtoupper($user['name']) neq 'THINKPHP'"}ThinkPHP
10 {else /} other Framework
11 {/if}
12 condition属性可以支持点语法和对象语法,例如: 自动判断user变量是数组还是对象
13 {if condition="$user.name neq 'ThinkPHP'"}ThinkPHP
14 {else /} other Framework
15 {/if}
16 或者知道user变量是对象
17 {if condition="$user:name neq 'ThinkPHP'"}ThinkPHP
18 {else /} other Framework
19 {/if}
20 由于if标签的condition属性里面基本上使用的是php语法,尽可能使用判断标签和Switch标签会更加简洁,原
21 则上来说,能够用switch和比较标签解决的尽量不用if标签完成。因为switch和比较标签可以使用变量调节器
22 和系统变量。如果某些特殊的要求下面,IF标签仍然无法满足要求的话,可以使用原生php代码或者PHP标签

 

posted @ 2018-04-16 23:27  范仁义  阅读(631)  评论(0编辑  收藏  举报