TP手册学习第四内置天

  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.   







原文地址:https://www.cnblogs.com/yolo-bean/p/7838353.html