一. 模板函数 教程https://www.kancloud.cn/manual/thinkphp5/125005
我们往往需要对模板输出变量使用函数,可以使用:
{$data.name|md5}
编译后的结果是:
<?php echo (md5($data['name'])); ?>
2. ###占位符
如果函数有多个参数需要调用,则使用:
{$create_time|date="y-m-d",###}
表示date函数传入两个参数,每个参数用逗号分割,这里第一个参数是y-m-d
,第二个参数是前面要输出的create_time
变量,因为该变量是第二个参数,因此需要用###标识变量位置,编译后的结果是:
<?php echo (date("y-m-d",$create_time)); ?>
二.输出默认值
我们可以给变量输出提供默认值,例如:
{$user.nickname|default="这家伙很懒,什么也没留下"}
默认值和函数可以同时使用,例如:
{$Think.get.name|getName|default="名称为空"}
三. 运算符
我们可以对模板输出使用运算符,包括对“+”“-” “*” “/”和“%”的支持。
`在使用运算符的时候,不再支持常规函数用法,例如:
{$user.score+10} //正确的 {$user['score']+10} //正确的 {$user['score']*$user['level']} //正确的 {$user['score']|myFun*10} //错误的 {$user['score']+myFun($user['level'])} //正确的
四. 不输出模板变量的值, 而是原样输出,需要计入literal 标签
{literal} {$email|md5} {/literal}
五.模板注释
使用模板注释, 注释不会输出到客服端
格式 {/* */}
{/* 我是注释*/} {literal} {$email|md5} {/literal}
六. 模板标签
1. 循环标签 VOLIST标签
volist标签通常用于查询数据集(select方法)的结果输出,通常模型的select方法返回的结果是一个二维数组,可以直接使用volist标签进行输出。 在控制器中首先对模版赋值:
{/* 我是注释*/} {/* name为后台传递的数组, id为循环代号, offset为循环开始的数组下标, length为循环数组下标最大值, empty数组为空时输出empty, key为list的key名称, */} {/* mod 输出偶数记录 还可以用来控制一定记录换行 */} {volist name ="list" id = "data" offset="1" length="3" mod="2" empty="没有数据,我也可以接收变量" } {eq name="mod" value="2"}<br/>{/eq} <o>{$key}.{$data.email} <br /></o> {/volist} <p>test</p> {/*的key=“k" 循环序号默认为i */} {volist name ="list" id = "data" offset="1" length="3" key="k" empty="没有数据,我也可以接收变量" } <o>{$k}.{$data.email} <br /></o> {/volist} <p>test</p>
2. 循环标签foreach
<body> {/* 我是注释*/} {foreach $list as $vo } <p>{$vo.name}: {$vo.email} </p> {/foreach} {foreach name="list" item="vo" key="s" } <p> {$s} {$vo.name}: {$vo.email} </p> {/foreach} {foreach name="list" item="vo" } <p> {$key} {$vo.name}: {$vo.email} </p> {/foreach} </body>
3.for标签
<body> {for start="1" end="30" step="2" name="k"} <p>{$k}</p> {/for} {/* 效果等同于在php使用(上式变量符号默认为i 可以用name重定义 for($i = 1; $i < 30; $i+=2) echo '<p>$i</p>'; */} </body>