zoukankan      html  css  js  c++  java
  • Thinkphp中的内置标签用法

    Thinkphp中的内置标签有:Volist,Foreach,For,Switch,比较标签,范围判断标签,IF,Present,Empty,Defined,Assign,Define,标签嵌套,import标签

    1.Volist标签

    volist标签通常用于查询数据集(select方法)的结果输出,通常模型的select方法返回的结果是一个二维数组,可以直接使用volist标签进行输出。在控制器中首先对模板赋值:

    $User=M("User");
    
    $list=$User->limit(10)->select();
    
    $this->assign("list",$list);

    在模板定义如下,循环输出用户的编号和姓名:(也可以输出部门数据,例如输出其中的5~15条记录)

    <volist name="list" id="vo" offset="5" length="10" empty="无数据">
    
    {$vo.id}:{$vo.name}
    
    <volist>

    2.Foreach标签

    foreach标签类似与volist标签,只是更加简单,没有太多额外的属性,例如:{$vo.id}:{$vo.name}

    name标识数据源item表示循环变量。

    可以输出索引,如下:

    <foreach name="list" item="vo">
    
    {$key}|{$vo}
    
    </foreach>

    也可以定义索引的变量名

    <foreach name="list" item="vo" key="k">
    
    {$k}|{$vo}
    
    </foreach>

    3.For标签

    用法:

    <for start="开始值" end="结束值" comparison="" step="步进值" name="循环变量名"></for>

    开始值、结束值、步进值和循环变量都可以支持变量,开始值和结束值是必须,其它可选。comparison的默认值是lt;name的默认值是i,步进值的默认值是1,举例如下:

    <for start="1" end="100">{$i}</for>

    解析后的代码是

    for($i=1;$i<100;$i+=1){
    
    echo $i;
    
    }

     4.Switch标签

    用法:

    <switch name="变量">
    
    <case value="值1" break="0或1">输入内容1</case>
    
    <case value="值2">输出内容2</case>
    
    <default/>默认情况
    
    </switch>

    使用方法如下:

    <switch name="User.level">
    
    <case value="1">value1</case>
    
    <case value="2">value2</case>
    
    <default/>default
    
    </switch>

    其中name属性可以使用函数以及系统变量,例如:

    <switch name="Think.get.userId|abs">
    
    <case value="1">admin</case>
    
    <default/>default
    
    </switch>

    对于case的value属性可以支持多个条件的判断,使用“|”进行分割,例如:

    <switch name="Think.get.type">
    
    <case value="gif|png|jpg">图像格式</case>
    
    <default/>其它格式
    
    </switch>

    Case标签还有一个break属性,表示是否需要break,默认是会自动添加break,如果不要break,可以使用:

    <switch name="Think.get.userId|abs">
    
    <case value="1" break="0" >admin</case>
    
    <case value="2">admin</case>
    
    <default/>default
    
    </switch>

    也可以对case的value属性使用变量,例如:

    <switch name="User.userId">
    
    <case value="$adminId">admin</case>
    
    <case value="$memberId">member</case>
    
    <default/>default
    
    </switch>

     5.比较标签

    比较表浅用于简单的变量比较,复杂的判断条件可以用if标签替换,比较标签是一组标签的集合,基本上用法都一致,如下:

    <比较标签 name="变量" value="值">

    内容

    </比较标签>

    系统支持的比较标签以及所表示的含义分别是:

    • eq或equal:等于
    • neq或notequal:不等于
    • gt:大于
    • egt:大于等于
    • lt:小于
    • elt:小于等于
    • heq:恒等于
    • nheq:不恒等于

    他们的用法基本一致,区别在于判断的条件不同,并且所有的比较标签都可以和else标签一起使用。

    <eq name="name" value="value">

    相等

    <else/>

    不相等

    </eq>

    当name变量的值大于5就输出

    <gt name="name" value="5">value</gt>

    当name变量的值不小于5就输出

    <egt name="name" value="5">value</egt>

    6.范围判断标签

    范围判断标签包括 in notin between notbetween 四个标签,都用于判断变量是否在否个范围。

  • 相关阅读:
    JAVA窗口程序实例一
    内存容量出现异常的解决办法
    Android Studio 2.0使用指南
    Android 开机自启服务
    Android 图形总结
    今日课堂总结
    JSON
    GET方法和POST方法
    ajax的简单介绍
    网页-豌豆上的公主
  • 原文地址:https://www.cnblogs.com/cczhao/p/5210367.html
Copyright © 2011-2022 走看看