ThinkPHP(7):内置标签

内置标签

注:使用原生php代码时,内部不能使用内置标签

包含文件

在当前模版文件中包含其他的模版文件使用include标签,标签用法

{include file='模版文件1,模版文件2,...' /}

注: 路径以 项目目录/public/ 路径下为起点

循环标签
//Demo7.php
public function test3()
{
    $student = [
        [
            'id' => '01',
            'name' => '张三'
        ],
        [
            'id' => '02',
            'name' => '李四'
        ],
        [
            'id' => '03',
            'name' => '王五'
        ]
    ];

    $this->view->assign('student',$student);
    return $this->view->fetch();
}

foreach循环

用于循环输出数组或者对象的属性

//test3.html
<body>
  <h2>foreach循环</h2>
  {foreach $student as $key=>$val}
      id: {$val.id} --->
      name:{$val.name}<br />
  {/foreach}
</body>

volist循环

用于查询数据集或者二维数组的结果输出。 在控制器中首先对模版赋值:

Volist标签的name属性表示模板赋值的变量名称,因此不可随意在模板文件中改变。id表示当前的循环变量,可以随意指定,但确保不要和name属性冲突

<h2>volist</h2>
//普通用法
{volist name="student" id="vo"}
    {$vo.id}:{$vo.name}<br/>
{/volist}

//查询结果中的部分数据,例如输出其中的第5~15条记录
{volist name="list" id="vo" offset="5" length='10'}
{$vo.name}
{/volist}

//为空的时候输出提示:
{volist name="list" id="vo" empty="暂时没有数据" }
{$vo.id}|{$vo.name}
{/volist}

//输出循环变量:
{volist name="list" id="vo" key="k" }
{$k}.{$vo.name}
{/volist}

使用volist时建议加上key属性,保证数据唯一

for循环

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

name和step可以省略,name默认值为i

判断

switch 标签
用法:

{switch 变量 }
    {case value1 }输出内容1{/case}
    {case value2}输出内容2{/case}
    {default /}默认情况
{/switch}

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

{switch Think.get.type}
    {case gif|png|jpg}图像格式{/case}
    {default /}其他格式
{/switch}

注: 使用变量方式的情况下,不再支持|分割的多个条件判断用法。

if 标签

用法

{if 表达式}value1
{elseif 表达式 /}value2
{else /}value3
{/if}

范围判断

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

实例一

{in name="id" value="1,2,3"}
id在范围内
{/in}

实例二

{between name="id" value="1,10"}
变量id在110之间
{/between}

PRESENT/NOTPRESENT标签

present标签用于判断某个变量是否已经定义,notpresent与之相反

{present name="name"}
name已经赋值
{/present}

EMPTY/NOTEMPTY 标签
empty标签用于判断某个变量是否为空,用法:

{empty name="name"}
name为空值
{/empty}

DEFINED 标签
DEFINED标签用于判断某个常量是否有定义,用法如下

{defined name="NAME"}
NAME常量已经定义
{/defined}
资源加载

原生

<script type='text/javascript' src='/static/js/common.js'>
<link rel="stylesheet" type="text/css" href="/static/css/style.css" />

内置

{load href="/static/js/common.js" /}
{load href="/static/css/style.css" /}{load href="/static/js/common.js,/static/css/style.css" /}
定义标签

ASSIGN标签
实例

//在运行模板的时候,赋值了一个var的变量,值是123。
{assign name="var" value="123" /}

DEFINE标签

实例

//在运行模板的时候,就会定义一个MY_DEFINE_NAME的常量。
{define name="MY_DEFINE_NAME" value="3" /}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无知的小菜鸡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值