首页 > thinkphp5内置标签

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}
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 
2     { if condition="$vo['type'] eq 1"}
3     列表
4     { else /}
5     单页
6     {/if}
7 

 

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标签

 

转载于:https://www.cnblogs.com/Renyi-Fan/p/8859256.html

更多相关:

  • 今天在代码中第一次使用lxml解析xml文件时出错了, XMLSyntaxError: Opening and ending tag mismatch: keyEffectiveDate line 21 and keyEffectiveData, line 21, column 80 截图如下 而我的xml文件是这样的...

  • EL语法:${ } EL取值来自于作用域对象 1.如何从指定作用域取值(默认从最小作用域取值)   pageScope、requestScope、sessionScope、applicationScope   ${pageScope.xxx }--- ${requestScope.xxx} --- ${sessionScope.xx...

  • 超文本标记语言 (Hyper Text Markup Language,HTML)不是一种编程语言,而是一种标记语言,用一套标记标签描述网页 HTML 标记标签又被称为 HTML 标签(HTML Tag),它是由尖括号包围的关键词,一般情况下成对出现,其中第一个标签是开始标签,第二个标签是结束标签 还需要清楚的一个概念是 HTML...

  • 参考:http://www.cnblogs.com/liwenzhou/p/7988087.html HTML介绍 Web服务本质  import socketsk = socket.socket()sk.bind(("127.0.0.1", 8080)) sk.listen(5)while True:conn, addr...

  • 引言 在这个-SLAM建图和导航仿真实例-项目中,主要分为三个部分,分别是 (一)模型构建(二)根据已知地图进行定位和导航(三)使用RTAB-MAP进行建图和导航 该项目的slam_bot已经上传我的Github。 这是第三部分,完成效果如下 图1 建图和导航 三、使用RTAB-Map进行建图和导航 1. rtab...

  • 引言 在这个-SLAM建图和导航仿真实例-项目中,主要分为三个部分,分别是 (一)模型构建(二)根据已知地图进行定位和导航(三)使用RTAB-MAP进行建图和导航 该项目的slam_bot已经上传我的Github。 由于之前的虚拟机性能限制,我在这个项目中使用了新的ubantu 16.04环境,虚拟机配置 内存 8GCPU...

  • [{name:1},{name:2}].forEach((v,i,ar) => {console.log(v,i,ar)});//基础遍历[{name:1},{name:2}].map((v) => v.name);//[1,2]返回对象数组中指定字段值的一位数组(不改变原始数组)[{name:1},{name:2},{name:3}...

  • 体验内容 使用gmapping方法利用turtlebot底盘移动信息和激光雷达数据进行建图。 1. 安装一些依赖包 sudo apt-get install ros-melodic-move-base* sudo apt-get install ros-melodic-map-server* sudo apt-get insta...

  • 前言 我们知道Java/Python这种语言能够很好得 支持反射。反射机制 就是一种用户输入的字符串到对应实现方法的映射,比如http接口中 用户传入了url,我们需要调用该url对应的方法/函数对象 从而做出对应的操作。 而C++ 并没有友好得支持这样的操作,而最近工作中需要通过C++实现http接口,这个过程想要代码实现得优雅...

  • 全卷积网络(FCN) 1.全卷积神经网络介绍 FCN对图像进行像素级的分类,从而解决了语义级别的图像分割(semantic segmentation)问题。与经典的CNN在卷积层之后使用全连接层得到固定长度的特征向量进行分类(全联接层+softmax输出)不同,FCN可以接受任意尺寸的输入图像,采用反卷积层对最后一个卷积层的fea...

  • printf()函数优点在于可以格式化输出 格式:   %['padding_character][-][width][.precision]type   所有的转换说明都是以%开始,如果想打印一个%符号,必须用%% ;   参数“'padding_character”是可选,它将被用来填充变量直至所指定的宽度,该参...

  • 给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按GPLTGPLT....这样的顺序输出,并忽略其它字符。当然,四种字符(不区分大小写)的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按GPLT的顺序打印,直到所有字符都被输出。 输入格式: 输入在一行中给出一个长度不超过10000的、仅...

  • 给定两个整数A和B,输出从A到B的所有整数以及这些数的和。 输入格式: 输入在一行中给出2个整数A和B,其中−100≤A≤B≤100,其间以空格分隔。 输出格式: 首先顺序输出从A到B的所有整数,每5个数字占一行,每个数字占5个字符宽度,向右对齐。最后在一行中按Sum = X的格式输出全部数字的和X。 输入样例:...

  • python面试题目 原文地址:https://www.usblog.cc/blog/post/justzhl/b5cc9a05c7d2 问题一:以下的代码的输出将是什么? 说出你的答案并解释。 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 class Parent(object):     x...