ThinkPHP模板引擎支持变量输出、逻辑控制与模板包含。控制器用assign传值,模板以{$var}输出;支持{if}、{volist}、{foreach}等标签进行条件与循环;可用{include file="public/header"}复用公共模板;支持函数过滤如{$time|date='Y-m-d'},保持视图简洁。

ThinkPHP 模板的使用非常灵活,尤其在 ThinkPHP 5 和 ThinkPHP 6 版本中,默认集成了内置模板引擎(基于 ThinkTemplate),支持标签解析、变量输出、逻辑控制等功能。下面详细介绍 ThinkPHP 模板引擎的基本用法和实际示例。
模板文件存放位置
在 ThinkPHP 项目中,模板文件默认存放在 view/控制器名/操作名.html 路径下。例如:
- 控制器:index/controller/Index.php
- 对应模板:view/index/index.html
系统会自动根据模块、控制器、操作方法匹配模板文件。
变量输出与赋值
在控制器中通过 $this->assign() 方法将数据传递给模板:
立即学习“PHP免费学习笔记(深入)”;
$this->assign('name', '张三');$this->assign('age', 25);
return $this->fetch(); // 加载模板
在模板中使用 {$变量名} 输出变量:
姓名:{$name}
年龄:{$age}
模板中的逻辑控制标签
ThinkPHP 模板支持 if、foreach、volist 等常用标签,用于条件判断和循环输出。
if 条件判断:
{if condition="$age >= 18"} 您已成年 您未成年
{else /}
{/if}
volist 循环输出数组(推荐用于列表):
启科网络商城系统由启科网络技术开发团队完全自主开发,使用国内最流行高效的PHP程序语言,并用小巧的MySql作为数据库服务器,并且使用Smarty引擎来分离网站程序与前端设计代码,让建立的网站可以自由制作个性化的页面。 系统使用标签作为数据调用格式,网站前台开发人员只要简单学习系统标签功能和使用方法,将标签设置在制作的HTML模板中进行对网站数据、内容、信息等的调用,即可建设出美观、个性的网站。
控制器中传入数组:
$list = [['id'=>1, 'title'=>'新闻一'],
['id'=>2, 'title'=>'新闻二']
];
$this->assign('list', $list);
return $this->fetch();
模板中使用 volist 遍历:
{volist name="list" id="vo"}{$key}. {$vo.title}
{/volist}
foreach 循环(更通用):
{foreach $list as $k=>$v} {$k}: {$v.title}
{/foreach}
包含公共模板与布局
可以使用 include 标签引入公共部分,如头部、尾部:
{include file="public/header" /}主内容区域
{include file="public/footer" /}
对应的模板文件路径为:view/public/header.html 和 footer.html。
若需使用统一布局,可开启 layout 模式,在配置文件中设置:
'template' => ['layout_on' => true,
'layout_name' => 'layout'
]
然后创建 view/layout.html,并在其中使用 {__CONTENT__} 占位符。
函数调用与过滤器
模板中支持直接调用 PHP 函数或使用过滤器格式化输出:
{$name|strtoupper}{$create_time|date='Y-m-d H:i:s',###}
多个过滤器可用管道符连接:
{$description|strip_tags|mb_substr=0,50,'utf-8'}基本上就这些。掌握 assign 传值、模板标签、循环和包含机制,就能高效开发 ThinkPHP 前端页面。注意避免在模板中写复杂逻辑,保持简洁清晰最重要。










