1 ┃ TP6 模板引擎和标签的使用
Posted autofelix
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1 ┃ TP6 模板引擎和标签的使用相关的知识,希望对你有一定的参考价值。
〝 古人学问遗无力,少壮功夫老始成 〞
在学习thinkphp框架时候,由于文档并不会特别细致的解决所有问题。对于模板标签没有太多的介绍,但是模板标签对于框架而言是非常的重要,可以增加很多的工作效率。如果这篇文章能给你带来一点帮助,希望给飞兔小哥哥一键三连,表示支持,谢谢各位小伙伴们。
目录
一、安装模板引擎
composer require topthink/think-view
二、模板赋值
- 第一种方式,使用assign赋值
<?php
use think\\facade\\View;
// 模板变量赋值
View::assign('name','ThinkPHP');
View::assign('email','thinkphp@qq.com');
// 或者批量赋值
View::assign([
'name' => 'ThinkPHP',
'email' => 'thinkphp@qq.com'
]);
// 加载模板
return View::fetch('index');
- 第二种方式
<?php
use think\\facade\\View;
return View::fetch('index', [
'name' => 'ThinkPHP',
'email' => 'thinkphp@qq.com'
]);
- 第三种方式
<?php
use think\\facade\\View;
// 使用助手函数
return view('index', [
'name' => 'ThinkPHP',
'email' => 'thinkphp@qq.com'
]);
- 个人常见用法
<?php
use think\\facade\\View;
$name = 'ThinkPHP';
$email = 'thinkphp@qq.com';
return View::fetch('index', compact('name', 'email'));
三、模板中运算符
<div>$a+$b</div>
<div>$a-$b</div>
<div>$a*$b</div>
<div>$a/$b</div>
<div>$a%$b</div>
<div>$a++</div>
<div>++$a</div>
<div>$a--</div>
<div>--$a</div>
<div>$c ? '存在' : '不存在'</div>
四、模板中使用函数
<!-- 日期格式化 -->
<div>$time|date='Y-m-d H:i:s'</div>
<!-- 字符串转换为大写 -->
<div>$str|upper</div>
<!-- 字符串转换为小写 -->
<div>$str|lower</div>
<!-- 输出数组的第一个元素 -->
<div>$arr|first</div>
<!-- 输出数组的最后一个元素 -->
<div>$arr|last</div>
<!-- 默认值 -->
<div>$default|default="飞兔"</div>
<!-- 字符串截取 -->
<div>$str|substr=0,3</div>
<!-- md5加密 -->
<div>$str|md5</div>
<!-- 多函数调用 -->
<div>$str|lower|substr=0,3</div>
五、原样输出
- 可以使用
literal
标签来防止模板标签被解析
literal
Hello,$name!
/literal
六、模板注释
- 注意和注释标记之间不能有空格
单行注释 格式:
/* 注释内容 */ 或 // 注释内容
多行注释 格式:
/* 这是模板
注释内容*/
七、语言包设置
:lang('sex')[1]
八、循环
<!-- volist循环 -->
volist name='list' id='vo'
<li> $vo.nickname</li>
/volist
<!-- foreach循环 -->
foreach list as key=>$vo
$vo.id
/foreach
<!-- for循环 -->
for start="1" end="100" comparison="" step="步进值" name="循环变量名"
$i
/for
九、等于判断标签
eq name="name" value="1"value/eq
十、变量输出
<!-- 输出变量 -->
$name
<!-- 输出数组 -->
$user.user_name
$user.age
或
$user['user_name']
$user['age']
<!-- 输出对象 -->
$user->user_name
$user->age
<!-- 输出$_SERVER['SCRIPT_NAME']变量 -->
$Request.server.script_name
<!-- 输出$_SESSION['user_id']变量 -->
$Request.session.user_id
<!-- 输出$_GET['page']变量 -->
$Request.get.page
<!-- 输出$_COOKIE['name']变量 -->
$Request.cookie.name
<!-- 调用Request对象的controller方法 -->
$Request.controller
<!-- 调用Request对象的action方法 -->
$Request.action
<!-- 调用Request对象的host方法 -->
$Request.host
<!-- 调用Request对象的ip方法 -->
$Request.ip
<!-- 输出PHP的版本 -->
$Think.PHP_VERSION
<!-- 输出THINKPHP的版本 -->
:think\\\\App::VERSION
十一、文件包含
<!-- 包含头部模版header -->
include file="public/header" /
<!-- 包含菜单模版menu -->
include file="public/menu" /
<!-- 包含blue主题下面的menu模版 -->
include file="blue/public/menu" /
<!-- 包含多个文件 -->
include file="public/header,public/menu" /
十二、条件判断
if ( $name == 1) OR ( $name > 100) value1
elseif $name == 2 /value2
else / value3
/if
if strtoupper($user['name']) == 'THINKPHP' ThinkPHP
else / other Framework
/if
十三、资源加载
load href="/static/js/common.js" /
load href="/static/css/style.css" /
load href="/static/js/common.js,/static/css/style.css" /
十四、资源路径替换
- 在view.php 的配置文件中添加
'tpl_replace_string' => [
'__STATIC__'=>'/static'
]
- 模板中使用
<script type="text/javascript" src="__STATIC__/js/jquery.min.js"></script>
创作打卡挑战赛
赢取流量/现金/CSDN周边激励大奖
以上是关于1 ┃ TP6 模板引擎和标签的使用的主要内容,如果未能解决你的问题,请参考以下文章