thinkphp模板⾸页⽂件命名
⼀直以为⾸页就是index为名的某个⽂件。但是今天遇到⼀个index_index.html 为⾸页的模板,了很久⼀直没有到这么命名的原因。后来请教了下前辈,原来这么命名是 控制器名称+⽅法名称,这是mvc⾥⾯的知识点。thinkphp5⾥⾯也有相关介绍。
thinkphp5 ⾥⾯关于这个的介绍在模板定位中有详细说明。
ThinkPHP对模板⽂件进⾏⽬录划分,默认的模板⽂件定义规则是:视图⽬录/控制器名(⼩写)/操作名(⼩写)+模板后缀。模板后缀⼀般为".html"。
模板渲染使⽤\think\View类的fetch⽅法,渲染规则为:模块@控制器/操作。这⾥⽤到了⼀个fetch()⽅法。
return $view->fetch();
则按照系统的默认规则定位模板⽂件到:[模板⽂件⽬录]/当前控制器名(⼩写+下划线)/当前操作名(⼩写).html。
php文件管理系统mvc 源码
如果(指定操作)调⽤:
return $view->fetch('add');
则定位模板⽂件为:[模板⽂件⽬录]/当前控制器名(⼩写+下划线)/add.html
如果调⽤控制器的某个模板⽂件使⽤:
return $view->fetch('user/add');
则定位模板⽂件为:[模板⽂件⽬录]/user/add.html
跨模块调⽤模板
return $view->fetch('admin@user/add');
全路径模板调⽤:
return $view->fetch(quest()->module().'/view/public/header.html');
我上⾯所说的index_index.html应该是属于第⼀种。⾄于为什么是‘_’⽽不是‘/’。是因为在配置template的时候,设置
了'view_depr'=>'_'。
当前模块/默认视图⽬录/当前控制器(⼩写)/当前操作(⼩写).html
经过设置后就成为
当前模块/默认视图⽬录/当前控制器(⼩写)_当前操作(⼩写).html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。