1. 比较标签:
    1. 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}
      举例:先在控制器中分配数据

      然后在模板中使用标签

  2. 定义标签:

    1. ASSIGN标签用于在模板文件中定义变量

      {assign name='gender' value="female"}
      {$gender} //注意输出变量的方法,怎么老记不住

      name属性支持系统变量,下例表示在模板中给$_GET['id'] 赋值了 123

      {assign name="Think.get.id" value="123" /}
      
    2. define标签用于在模板中定义常量

      {define name='GENDER' value="female"}
      {$Think.const.GENDER} //这是输出常量的方式
      或者:
      {define name='NAME' value="yolo_bean"}
      {:NAME} //如果模板中有{:NAME}解析出来就是:<?php echo NAME;?>
  3. 条件判断

    1. 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()返回绝对值

    2. 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

    3. 范围判断:范围判断标签包括in notin between notbetween四个标签,都用于判断变量是否中某个范围。

      {between name="id" value="1,10"}
      输出内容1
      {else/}
      输出内容2
      {/between}
    4. empty判断是否为空(notempty)

      {empty name="name"}
      name为空
      {else /}
      name不为空
      {/empty}
    5. defined标签用于判断某个常量是否有定义(notdefined)

      {defined name="NAME"}
      NAME常量已经定义
      {else /}
      NAME常量未定义
      {/defined}
  4. 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;
    }

      

  5.   


TP手册学习第四内置天的更多相关文章

  1. Oracle学习笔记十四 内置程序包

    扩展数据库的功能 为 PL/SQL 提供对 SQL 功能的访问 用户 SYS 拥有所有程序包 是公有同义词 可以由任何用户访问 一些内置程序包 程序包名称 说明 STANDARD和DBMS_STAND ...

  2. JavaScript 参考手册——javascript本地和内置对象、BOM、DOM

    本部分提供完整的 JavaScript 参考手册: JavaScript 本地对象和内置对象 Browser 对象(BOM) HTML DOM 对象 JavaScript 对象参考手册 本参考手册描述 ...

  3. Python学习第二阶段day1 内置函数,序列化,软件目录开发规范

    内置函数 1.abs()  求绝对值 2.all()    所有元素为真才返回真 all( [1,1,2,3,-1] ) 值为True 3.any()   所有元素为假才返回假  any([0,0,0 ...

  4. python自动化测试学习笔记-4内置函数,处理json

    函数.全局变量 写代码时注意的几点事项: 1.一般写代码的时候尽量少用或不用全局变量,首先全局变量不安全,大家协作的情况下,代码公用容易被篡改,其次全局变量会一直占用系统内容. 2.函数里如果有多个r ...

  5. Future模式的学习以及JDK内置Future模式的源码分析

    并发程序设计之Future模式 一).使用Future模式的原因 当某一段程序提交了一个请求,期待得到一个答复,但服务程序对这个请求的处理可能很慢,在单线程的环境中,调用函数是同步的,必须等到服务程序 ...

  6. Python学习日记(十一) 内置函数

    什么是内置函数? 就是Python中已经写好了的函数,可以直接使用 内置函数图表: 以3.6.2为例 内置函数分类: 一.反射相关 1.hasattr() 2.getattr() 3.setattr( ...

  7. js学习---常用的内置对象(API)小结 :

    内置对象(API): 日期 Date: getFullYear() 返回完整的4位的年份  如:2016 getMonth()    返回月份,从0开始 getDate()   返回当前月的第几天,当 ...

  8. 学习笔记——Maven 内置变量

    Maven内置变量说明: ${basedir} 项目根目录(即pom.xml文件所在目录) ${project.build.directory} 构建目录,缺省为target目录 ${project. ...

  9. Python学习笔记-Day3-python内置函数

    python内置函数 1.abs    求绝对值 2.all 判断迭代器中的所有数据是否都为true 如果可迭代的数据的所有数据都为true或可迭代的数据为空,返回True.否则返回False 3.a ...

随机推荐

  1. fastboot模式

    快速启动. 在安卓手机中fastboot是一种比recovery更底层的刷机模式. fastboot是一种线刷,就是使用USB数据线连接手机的一种刷机模式. recovery是一种卡刷,就是将刷机包放 ...

  2. V4l2的结构体 --- ioctl【转】

      在应用程序获取视频数据的流程中,都是通过 ioctl 命令与驱动程序进行交互,常见的 ioctl 命令有: VIDIOC_QUERYCAP /* 获取设备支持的操作 */ VIDIOC_G_FMT ...

  3. Struts2+Spring+Hibernate环境搭建

    struts-2.3.20 spring-4.1.4 hibernate-4.3.8 slf4j-1.7.10 1.在MySQL中建立数据库 mysql> create database myo ...

  4. deeplearning.ai 改善深层神经网络 week2 优化算法 听课笔记

    这一周的主题是优化算法. 1.  Mini-batch: 上一门课讨论的向量化的目的是去掉for循环加速优化计算,X = [x(1) x(2) x(3) ... x(m)],X的每一个列向量x(i)是 ...

  5. Codeforces 626B Cards(模拟+规律)

    B. Cards time limit per test:2 seconds memory limit per test:256 megabytes input:standard input outp ...

  6. c语言_FILE结构体解释及相关操作

    1. 文件和流的关系 C将每个文件简单地作为顺序字节流(如下图).每个文件用文件结束符结束,或者在特定字节数的地方结束,这个特定的字节数可以存储在系统维护的管理数据结构中.当打开文件时,就建立了和文件 ...

  7. CLR 简介

    (一)CLR介绍 CLR是一个可以由多编程语言使用的运行时,CLR的核心功能:内存管理,程序集加载,安全性,异常处理,线程同步等等.可以被很多属于微软系列的开发语言使用. 事实上,在运行时,CLR根本 ...

  8. vuex的使用

    vue现在越来越火,不单单可以写简单的小项目,也可以写大中型的项目.但是项目大了,项目之间的数据传递就会变得复杂,那么问题来了?在一个大型项目中,多个组件要公用同一个或多个数据,我们如何保证每个组件获 ...

  9. NGINX 配置404错误页面转向

    什么是404页面 如果碰巧网站出了问题,或者用户试图访问一个并不存在的页面时,此时服务器会返回代码为404的错误信息,此时对应页面就是404页面.404页面的默认内容和具体的服务器有关.如果后台用的是 ...

  10. 织梦首页、列表页调用文章body内容的两种方法

    http://blog.csdn.net/langyu1021/article/details/52261411 关于首页.列表页调用文章body内容的两种方法,具体方法如下: 第一种方法: {ded ...