TP手册学习第四内置天
- 比较标签:
- eq:等于 heq:恒等于 gt:大于 lt:小于 (前面加上n则为否,如neq表示不等于)
使用方法:{gt name="name" value="5"}value{/gt} ->当name的值大于5时就输出
还可以支持对变量使用函数 当vo对象的属性值的字符串长度等于5就输出:{eq name="vo.name|strlen" value="5"}{$vo.name}{/eq}
举例:先在控制器中分配数据
然后在模板中使用标签

- eq:等于 heq:恒等于 gt:大于 lt:小于 (前面加上n则为否,如neq表示不等于)
定义标签:
ASSIGN标签用于在模板文件中定义变量
{assign name='gender' value="female"}
{$gender} //注意输出变量的方法,怎么老记不住name属性支持系统变量,下例表示在模板中给
$_GET['id']赋值了123{assign name="Think.get.id" value="123" /}define标签用于在模板中定义常量
{define name='GENDER' value="female"}
{$Think.const.GENDER} //这是输出常量的方式
或者:
{define name='NAME' value="yolo_bean"}
{:NAME} //如果模板中有{:NAME}解析出来就是:<?php echo NAME;?>
条件判断
switch标签
{switch name="data.age"}
{case value="22"}你今年22岁{/case}
{case value="23"}你今年23岁{/case}
{default}我不知道你几岁呀
{/switch} 简洁的用法{switch $User.userId}{case $adminId}admin{/case}{case $memberId}member{/case}{/switch}Case标签还有一个break属性,表示是否需要break,默认是会自动添加break,如果不要break,可以使用:
{case value="1" break="0"}admin{/case} 对于case的value属性可以支持多个条件的判断,使用”|”进行分割,下例表示type等于jpg或gif则返回正确
{switch name="type"}
{case value="jpg|gif"}正确的图片格式{/case}
{default}非法图片格式
{/switch}*abs()返回绝对值
if标签
{if condition="$data.type eq 'gif'"} 这是gif图片
{elseif condition="$data.type eq 'jpg'"} 这是jpg图片
{else} 我不知道这是什么格式的文件
{/if} 另外我们可以在condition属性里面使用php代码 {if condition="strtoupper($user['name']) neq 'THINKPHP'"}ThinkPHP
{else /} other Framework
{/if}*点语法:$user.name 会自动判断是对象还是数组 ,如果知道是对象,则应该使用对象语法(冒号):$user:name
范围判断:范围判断标签包括in notin between notbetween四个标签,都用于判断变量是否中某个范围。
{between name="id" value="1,10"}
输出内容1
{else/}
输出内容2
{/between}empty判断是否为空(notempty)
{empty name="name"}
name为空
{else /}
name不为空
{/empty}defined标签用于判断某个常量是否有定义(notdefined)
{defined name="NAME"}
NAME常量已经定义
{else /}
NAME常量未定义
{/defined}
volist循环输出标签
{volist name="list" id="vo"}
{$vo.id}:{$vo.name}<br/>
{/volist}foreach标签类似与volist标签,只是更加简单,没有太多额外的属性,最简单的用法是:
{foreach $list as $vo}
{$vo.id}:{$vo.name}
{/foreach}for标签
{for start="1" end="100"}
{$i}
{/for} 解析后的代码是
for ($i=1;$i<100;$i+=1){
echo $i;
}
TP手册学习第四内置天的更多相关文章
- Oracle学习笔记十四 内置程序包
扩展数据库的功能 为 PL/SQL 提供对 SQL 功能的访问 用户 SYS 拥有所有程序包 是公有同义词 可以由任何用户访问 一些内置程序包 程序包名称 说明 STANDARD和DBMS_STAND ...
- JavaScript 参考手册——javascript本地和内置对象、BOM、DOM
本部分提供完整的 JavaScript 参考手册: JavaScript 本地对象和内置对象 Browser 对象(BOM) HTML DOM 对象 JavaScript 对象参考手册 本参考手册描述 ...
- Python学习第二阶段day1 内置函数,序列化,软件目录开发规范
内置函数 1.abs() 求绝对值 2.all() 所有元素为真才返回真 all( [1,1,2,3,-1] ) 值为True 3.any() 所有元素为假才返回假 any([0,0,0 ...
- python自动化测试学习笔记-4内置函数,处理json
函数.全局变量 写代码时注意的几点事项: 1.一般写代码的时候尽量少用或不用全局变量,首先全局变量不安全,大家协作的情况下,代码公用容易被篡改,其次全局变量会一直占用系统内容. 2.函数里如果有多个r ...
- Future模式的学习以及JDK内置Future模式的源码分析
并发程序设计之Future模式 一).使用Future模式的原因 当某一段程序提交了一个请求,期待得到一个答复,但服务程序对这个请求的处理可能很慢,在单线程的环境中,调用函数是同步的,必须等到服务程序 ...
- Python学习日记(十一) 内置函数
什么是内置函数? 就是Python中已经写好了的函数,可以直接使用 内置函数图表: 以3.6.2为例 内置函数分类: 一.反射相关 1.hasattr() 2.getattr() 3.setattr( ...
- js学习---常用的内置对象(API)小结 :
内置对象(API): 日期 Date: getFullYear() 返回完整的4位的年份 如:2016 getMonth() 返回月份,从0开始 getDate() 返回当前月的第几天,当 ...
- 学习笔记——Maven 内置变量
Maven内置变量说明: ${basedir} 项目根目录(即pom.xml文件所在目录) ${project.build.directory} 构建目录,缺省为target目录 ${project. ...
- Python学习笔记-Day3-python内置函数
python内置函数 1.abs 求绝对值 2.all 判断迭代器中的所有数据是否都为true 如果可迭代的数据的所有数据都为true或可迭代的数据为空,返回True.否则返回False 3.a ...
随机推荐
- Chris Richardson微服务翻译:构建微服务之使用API网关
Chris Richardson 微服务系列翻译全7篇链接: 微服务介绍 构建微服务之使用API网关(本文) 构建微服务之微服务架构的进程通讯 微服务架构中的服务发现 微服务之事件驱动的数据管理 微服 ...
- C++雾中风景6:拷贝构造函数与赋值函数
在进行C++类编写的过程之中,通常会涉及到类的拷贝构造函数与类的赋值函数.初涉类编写的代码,对于两类函数的用法一直是挺让人困惑的内容.这篇文章我们会详细来梳理拷贝构造函数与赋值函数的区别. 1.调用了 ...
- JavaScript练习2
今天做了一些JS数组的练习题 一.往数组中插入一个数字 var attr = [1,2,3,4,5,6]; var c = 7; for(var i=0;i<attr.length;i++) { ...
- python中List添加、删除元素的几种方法
一.python中List添加元素的几种方法 List 是 Python 中常用的数据类型,它一个有序集合,即其中的元素始终保持着初始时的定义的顺序(除非你对它们进行排序或其他修改操作).在Pytho ...
- [51nod1329]路径游戏
Snuke与Sothe两个人在玩一个游戏.游戏在一个2*N的网格中进行(2行N列),这个网格中的2N个格子不是黑色就是白色.定义,一条有效路径是指一个完全由白色格子构成的序列,这个序列的第一个网格元素 ...
- [bzoj2288][POJ Challenge]生日礼物
用堆维护双向链表来贪心... 数据范围显然不容许O(nm)的傻逼dp>_<..而且dp光是状态就n*m个了..显然没法优化 大概就会想到贪心乱搞了吧...一开始想贪心地通过几段小的负数把正 ...
- git工作流程一览
Git是分布式版本控制系统,没有中央服务器,每个人的电脑就是一个完整的版本库,工作的时候不需要联网了,因为版本都在自己电脑上.协同的方法是这样的:比如说自己在电脑上改了文件A,其他人也在电脑上改了文件 ...
- ubantu下su命令Authentication failure失败的解决方式
Ubuntu安装后,root用户默认是被锁定了的,不允许登录,也不允许 su 到 root . 可以使用: sudo passwd 来重新设置root密码,后即可登陆root. ortonwu@ubu ...
- Vue中的$set的使用
在我们使用vue进行开发的过程中,可能会遇到一种情况:当生成vue实例后,当再次给数据赋值时,有时候并不会自动更新到视图上去: 当我们去看vue文档的时候,会发现有这么一句话:如果在实例创建之后添加新 ...
- [国嵌攻略][072][Linux应用程序地址布局]
程序构成 代码段.数据段.BSS段(Block Started by Symbol,又叫:未初始化数据段).堆(heap)和栈(stack).这些部分构成了Linux应用程序的重要组成部分. 内存布局 ...