zoukankan      html  css  js  c++  java
  • ThinkPHP5.0 模板

    ThinkPHP5.0 模板

    模板渲染

    1. 默认的视图目录是默认的模块下的view目录
    2. 渲染规则:调用 hinkView 类fetch方法
    // [模板文件目录]/当前控制器名(小写+下划线)/当前操作名(小写).html
    return $view->fetch();
    // [模板文件目录]/当前控制器名(小写+下划线)/add.html
    return $view->fetch('add');
    return $view->fetch('user/add');
    

    模板配置

    // config.php 中配置
    'template'  =>  [
        'layout_on' =>  true,
        'layout_name' =>  'layout',
        // 模板引擎
        'type' => 'think',
        // 普通标签开始标记 
        'tpl_begin' => '<{',
        // 普通标签结束标记
        'tpl_end' => '}>'
    ]
    

    控制器中变量赋值

    $this->assgin('list', $list);
    
    $view = new View();
    $view->name = 'thinkphp';
    return $view->fetch();
    
    $this->fetch('view',[
        'list' => $list
    ])
    

    函数

    // 加密
    {$data.name|md5} 
    
    // 时间
    {$create_time|date="y-m-d",###}
    
    // 截取字符串
    {$data.name|substr=0,3}
    
    // 多个函数操作过滤
    {$name|md5|strtoupper|substr=0,3}
    
    // 默认值
    {$user.nickname|default="这家伙很懒,什么也没留下"}
    
    
    

    运算(三元)

    {$status? '正常' : '错误'}
    {$info['status']? $info['msg'] : $info['error']}
    {$info.status? $info.msg : $info.error }
    
    {$varname.aa ?? 'xxx'}
    
    

    内置标签循环

    //Volist标签的name属性表示模板赋值的变量名称,因此不可随意在模板文件中改变。id表示当前的循环变量,可以随意指定
    
    {volist name='dataname’ id ='value'}
        {$value.id}
    {/volist}
    
    // 如果需要分页,也可以再标签中操作,offset为开始条数 length为获取条数
    {volist name="list" id="vo" offset="5" length='10'}
        {$vo.name}
    {/volist}
    
    // 还可以设置限制,mod 为偶数
    {volist name="list" id="vo" mod="2" }
        {eq name="mod" value="1"}{$vo.name}{/eq}
    {/volist}
    
    // 还可以设置限制,empty为空是输出值,empty属性不支持直接传入html语法,但可以支持变量输出
    {volist name="list" id="vo" empty="空空如也" }
        {eq name="mod" value="1"}{$vo.name}{/eq}
    {/volist}
    
    // foreach
    {foreach name="list" item="vo"}
        {$vo.id}:{$vo.name}
    {/foreach}
    
    // for
    {for start="开始值" end="结束值" comparison="" step="步进值" name="循环变量名" }
    
    

    条件

    比较标签
    eq或者 equal	等于
    neq 或者notequal	不等于
    gt	大于
    egt	大于等于
    lt	小于
    elt	小于等于
    heq	恒等于
    nheq	不恒等于
    
    // switch
    {switch name="变量" }
        // 支持多个格式判断
        {case value="gif|png|jpg"}图像格式{/case}
        {case value="值1" break="0或1"}输出内容1{/case}
        {case value="值2"}输出内容2{/case}
        {default /}默认情况
    {/switch}
    
    // if
    {if condition="($name == 1) OR ($name > 100) "} 
         value1
    {elseif condition="$name eq 2"/}
        value2
    {else /}
        value3
    {/if}
    
    // in
    {in name="id" value="1,2,3"}
        id在范围内
    {/in}
    {notin name="id" value="1,2,3"}
        id不在范围内
    {/notin}
    
    // between 变量的值可以是字符串或者数组,还可以支持系统变量。value只需要一个区间范围,也就是只支持两个值,后面的值无效
    {between name="id" value="1,10"}
    输出内容1
    {/between}
    
    
  • 相关阅读:
    javaweb学习2
    javaweb学习1
    Java学习17
    python 正则表达式
    python 常用库
    python 常用内置函数
    python 函数高级功能
    python 正则表达式findall
    tcpdump
    安卓软件学习进度_1
  • 原文地址:https://www.cnblogs.com/maomojun/p/9360694.html
Copyright © 2011-2022 走看看