ThinkPHP 6.0 默认视图目录为 app/view(单应用)或根目录 view(多应用),可通过 config/view.php 中 view_dir_name 配置修改为 templates 等名称,或直接设置 view_path 指向 resources/views 等自定义路径。

ThinkPHP 6.0 默认视图目录是 app/view(单应用模式)或根目录下的 view(多应用或自定义配置时),但你可以通过配置文件灵活修改其位置,无需改框架源码。
修改 config/view.php 中的 view_dir_name 配置
这是最直接、推荐的方式。打开项目中的 config/view.php(单应用)或对应应用目录下的 config/view.php(多应用),找到并修改 view_dir_name 项:
- 默认值为
'view',表示视图目录名为view - 若想改成
templates,则设为:'view_dir_name' => 'templates', - 修改后,框架会自动查找
app/templates(应用内)或templates(根目录)作为视图根目录
确保目标目录存在且路径可被正确解析
框架按优先级顺序定位视图目录:
- 先查当前应用目录下的
{view_dir_name}(如app/templates) - 若不存在,再查项目根目录下的
{view_dir_name}(如templates) - 两者都不存在则报错:模板文件未找到
所以建议统一使用应用内视图目录(如 app/templates),并手动创建该目录及子结构(如 app/templates/index/index.html)。
配合模板路径调整控制器返回逻辑
视图目录名变更后,控制器中调用 View::fetch() 或 return view() 时,路径写法不变——仍按「控制器名/方法名」映射:
- 例如控制器是
app\controller\Index,方法是index() - 框架仍会尝试加载
templates/index/index.html(不是view/index/index.html) - 如需指定绝对路径,可用
View::fetch('index/index')或View::fetch('@/index/index')(@/表示视图根目录)
进阶:自定义视图根目录(不依赖 view_dir_name)
如果希望完全脱离默认约定(比如把视图放在 resources/views),可在 config/view.php 中设置 view_path:
- 添加配置项:
'view_path' => app_path() . '../resources/views/',
(注意路径末尾带斜杠) - 此时
view_dir_name将被忽略,框架直接从该路径开始解析模板 - 需确保该路径可读,且目录结构与控制器命名空间匹配(如
resources/views/index/index.html)
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











