新建视图模板需严格遵循ThinkPHP6.0路径规则、命名约定及引擎配置,启用think-template引擎并正确设置view.php中'type'=>'Think',模板置于app/view/下且文件名与控制器方法名一致,使用{$var}、{volist}等标签语法,确保runtime/view可写。

新建视图模板文件不是简单地建个 HTML 文件就完事,必须严格匹配 ThinkPHP6.0 的路径规则、命名约定和引擎配置,否则会提示“模板不存在”或页面空白。
确认模板引擎已启用
ThinkPHP6.0 默认只带 PHP 原生引擎(仅用于错误页),不带 think-template 模板引擎。若要用 {$title}、{volist} 等语法,必须安装并启用 topthink/think-view:
- 在项目根目录执行:
composer require topthink/think-view - 检查
vendor/topthink/think-view目录是否存在 - 打开
config/view.php,确认'type' => 'Think'(不是'php')
创建正确的模板路径与文件名
模板文件必须放在 app/view/ 目录下,且文件名需与控制器方法名严格对应:
- 控制器中写
return view('index');→ 模板路径为app/view/index.html - 若用
return view('user/profile');→ 模板路径为app/view/user/profile.html - 不支持子目录自动创建,
user/目录需手动建立
编写符合 think-template 语法的模板内容
不能直接写 PHP 代码,要用框架定义的模板标签:
- 变量输出:用
{$title},不是 - 循环列表:用
{volist name="users" id="user"}{$user}{/volist} - 条件判断:用
{if $status == 1}正常{/if} - 引入 CSS/JS 可用原生 HTML 标签,但路径建议用
{:url('static/css/app.css')}或相对路径
验证是否生效的小技巧
写完模板后,别急着刷新浏览器,先快速验证两件事:
- 在控制器中临时加一行:
dump($this->view->getTemplate());,看输出的路径是否是你刚建的文件 - 把模板内容简化为纯 HTML,比如只写
,排除语法错误干扰test
- 确保
runtime/view目录可写(ThinkPHP 需要缓存编译后的模板)
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











