thinkphp5内置标签
thinkphp5内置标签
知道内置标签怎么用,查手册的时候好查
却功能的时候在里面找着来用
内置标签一览
内置标签 变量输出使用普通标签就足够了,但是要完成其他的控制、循环和判断功能,就需要借助模板引擎的标签库
功能了,系统内置标签库的所有标签无需引入标签库即可直接使用。
内置标签包括:
标签名作用包含属性
include 包含外部模板文件(闭合) file
load 导入资源文件(闭合 包括js css import别名) file,href,type,value,basepath
volist 循环数组数据输出name,id,offset,length,key,mod
foreach 数组或对象遍历输出name,item,key
for For循环数据输出name,from,to,before,step
switch 分支判断输出name
case 分支判断输出(必须和switch配套使用) value,break
default 默认情况输出(闭合 必须和switch配套使用) 无
compare 比较输出(包括eq neq lt gt egt elt heq nheq等别名) name,value,type
range 范围判断输出(包括in notin between notbetween别名) name,value,type
present 判断是否赋值name
notpresent 判断是否尚未赋值name
empty 判断数据是否为空name
notempty 判断数据是否不为空name
defined 判断常量是否定义name
notdefined 判断常量是否未定义name
define 常量定义(闭合) name,value
assign 变量赋值(闭合) name,value
if 条件判断输出condition
elseif 条件判断输出(闭合 必须和if标签配套使用) condition
else 条件不成立输出(闭合 可用于其他标签) 无
php 使用php代码无
内置标签
记住名字是内置标签,然后找的时候好找,这些都是在视图或者模板页面调用
volist
循环输出标签
VOLIST标签 volist标签通常用于查询数据集(select方法)的结果输出,通常模型的select方法返回的结果是一个二维数
组,可以直接使用volist标签进行输出。 在控制器中首先对模版赋值:
$list = User::all();
$this->assign('list',$list);
在模版定义如下,循环输出用户的编号和姓名:
{volist name="list" id="vo"}
{$vo.id}:{$vo.name}<br/>
{/volist}
这是标签的属性都是双引号,就是写在html页面的东西,双引号
比较标签
比较标签 比较标签用于简单的变量比较,复杂的判断条件可以用if标签替换,比较标签是一组标签的集合,基本上用法
都一致,如下:
{比较标签 name="变量" value="值"}
内容
{/比较标签}
系统支持的比较标签以及所表示的含义分别是:
标签含义
eq或者 equal 等于
neq 或者notequal 不等于
gt 大于
egt 大于等于
lt 小于
elt 小于等于
heq 恒等于
nheq 不恒等于
他们的用法基本是一致的,区别在于判断的条件不同,并且所有的比较标签都可以和else标签一起使用。
例如,要求name变量的值等于value就输出,可以使用:
{eq name="name" value="value"}value{/eq}
或者
{equal name="name" value="value"}value{/equal}
也可以支持和else标签混合使用:
{eq name="name" value="value"}
相等
{else/}
不相等
{/eq}
实例
<td align="center">
{if condition="$vo['type'] eq 1"}
列表
{else /}
单页
{/if}
</td>
if标签
IF标签 用法示例:
{if condition="($name == 1) OR ($name > 100) "} value1
{elseif condition="$name eq 2"/}value2
{else /} value3
{/if}
除此之外,我们可以在condition属性里面使用php代码,例如:
{if condition="strtoupper($user['name']) neq 'THINKPHP'"}ThinkPHP
{else /} other Framework
{/if}
condition属性可以支持点语法和对象语法,例如: 自动判断user变量是数组还是对象
{if condition="$user.name neq 'ThinkPHP'"}ThinkPHP
{else /} other Framework
{/if}
或者知道user变量是对象
{if condition="$user:name neq 'ThinkPHP'"}ThinkPHP
{else /} other Framework
{/if}
由于if标签的condition属性里面基本上使用的是php语法,尽可能使用判断标签和Switch标签会更加简洁,原
则上来说,能够用switch和比较标签解决的尽量不用if标签完成。因为switch和比较标签可以使用变量调节器
和系统变量。如果某些特殊的要求下面,IF标签仍然无法满足要求的话,可以使用原生php代码或者PHP标签
thinkphp5内置标签的更多相关文章
- thinkphp 内置标签volist 控制换行
thinkphp 内置标签volist 控制换行 volist标签通常用于查询数据集(select方法)的结果输出,通常模型的select方法返回的结果是一个二维数组,可以直接使用volist标签进行 ...
- ThinkPHP中的内置标签
ThinkPHP中的内置标签 1.内置标签分类 闭合标签 <tag></tag> 开放标签 <tag /> 2.包含文件标签 主要功能:实现对文件的包含(类似于re ...
- JSP内置标签 JSP中JavaBean标签 JSP开发模式 EL和JSTL快速入门
2 JSP内置标签(美化+业务逻辑) 1)为了取代<%%>脚本形式,使用JSP标签/JSP动作,目的:与JSP页面的美化,即JSP面页都是由标签组成,不再有其它的内容 2)JSP内 ...
- Jsp的内置标签和jstl标签
1.内置标签(动作标签) 内置标签不需要再jsp页面导入标签 1).forward:请求的转发,格式如下 <%-- 作用与这个相同 <%request.getRequestDispatch ...
- 学会怎样使用Jsp 内置标签、jstl标签库及自定义标签
学习jsp不得不学习jsp标签,一般来说,对于一个jsp开发者,可以理解为jsp页面中出现的java代码越少,对jsp的掌握就越好,而替换掉java代码的重要方式就是使用jsp标签. jsp标签的分 ...
- Thinkphp中的内置标签用法
Thinkphp中的内置标签有:Volist,Foreach,For,Switch,比较标签,范围判断标签,IF,Present,Empty,Defined,Assign,Define,标签嵌套,im ...
- django中模板变量与内置标签以及过滤器
本文参考 官方文档 . 一 模板变量 格式: {{ variable_name }} variable_name 命名规则与变量命名规则类似,允许字符数字下划线,不允许标点. variable_ ...
- JSP--JSP语法--指令---九大隐式对象--四大域对象--JSP内置标签--JavaBean的动作元素--MVC三层架构
一.JSP 原理:JSP其实就是一个servlet. Servlet负责业务逻辑处理,JSP只负责显示.开发中,JSP中不能有一行JAVA代码 二.JSP语法 1. JSP模板元素:JSP中HTML标 ...
- JSP--JSP语法--指令--include(动态包含/静态包含)--九大隐式对象--四大域对象--JSP内置标签--JavaBean的动作元素--MVC三层架构
一.JSP 原理:JSP其实就是一个servlet. Servlet负责业务逻辑处理,JSP只负责显示.开发中,JSP中不能有一行JAVA代码 二.JSP语法 1. JSP模板元素:JSP中HT ...
随机推荐
- pandas 5 导入导出 读取保存 I/O API
官网The pandas I/O API pickle格式是python自带的 from __future__ import print_function import pandas as pd da ...
- Android端通过HttpURLConnection上传文件到server
Android端通过HttpURLConnection上传文件到server 一:实现原理 近期在做Androidclient的应用开发,涉及到要把图片上传到后台server中.自己选择了做Sprin ...
- Unity 相机花式分屏
花式分屏,顾名思义,可以实现各种不规则几何边界的分屏,是无法直接通过调整相机视口能达到效果的(只能实现矩形的分屏),例如斜对角分屏,几何图形分屏: 假设我们有两个相机,需要上面的斜对角分屏画面,和镜子 ...
- Struts2标签库整理【完整】
转自:https://blog.csdn.net/chen_zw/article/details/8161230 Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,str ...
- Mysql锁表
lock tables是线程锁定表 lock tables table_name read lock tables table_name write read表示 所有用户只能读取被锁的表,不能对其进 ...
- (VC)搭建OpenGL编程环境
1.下载glut工具包 opengl需要用到的库.下载glut: http://pan.baidu.com/s/1i4c8sHf 2.安装glut a)解压上面下载到的glut工具包后会得到5个文件, ...
- UI Framework-1: Aura Multi-desktop
Multi-desktop Aura now makes it possible for the same browser process to render to multiple desktops ...
- Linux 图形文件压缩/解压缩实用程序,归档管理器。
1.ArkArk是KDE桌面环境默认的归档管理器,支持插件设置,允许你创建一个压缩包,查看压缩文件的内容,解压压缩包的内容到你所选定的目录.它能处理多种格式,包括 tar.gzip.bzip2.zip ...
- DNA Sequence POJ - 2778 AC 自动机 矩阵乘法
定义重载运算的时候一定要将矩阵初始化,因为这个调了一上午...... Code: #include<cstdio> #include<algorithm> #include&l ...
- center os 7最小化安装后按table无法补全命令的问题
闲来无趣,这两天huskiesir又重新安装了下center os 7操作系统,结果呢,发现一个问题:按table键无法补全命令啊. 咦,奇怪了,这次怎么回事,完全没遇到过啊.哦,回想了一下,和以往的 ...