thinkphp 模板首页文件命名

一直以为首页就是index为名的某个文件。但是今天遇到一个index_index.html 为首页的模板,找了很久一直没有找到这么命名的原因。后来请教了下前辈,原来这么命名是 控制器名称+方法名称,这是mvc里面的知识点。thinkphp5里面也有相关介绍。

thinkphp5 里面关于这个的介绍在模板定位中有详细说明。

ThinkPHP对模板文件进行目录划分,默认的模板文件定义规则是:视图目录/控制器名(小写)/操作名(小写)+模板后缀。模板后缀一般为".html"。

模板渲染使用\think\View类的fetch方法,渲染规则为:模块@控制器/操作。这里用到了一个fetch()方法。

return $view->fetch();

则按照系统的默认规则定位模板文件到:[模板文件目录]/当前控制器名(小写+下划线)/当前操作名(小写).html。

如果(指定操作)调用:

return $view->fetch('add');

则定位模板文件为:[模板文件目录]/当前控制器名(小写+下划线)/add.html

如果调用控制器的某个模板文件使用:

return $view->fetch('user/add');

则定位模板文件为:[模板文件目录]/user/add.html

跨模块调用模板

return $view->fetch('admin@user/add');

全路径模板调用:

return $view->fetch(APP_PATH.request()->module().'/view/public/header.html');

 我上面所说的index_index.html应该是属于第一种。至于为什么是‘_’而不是‘/’。是因为在配置template的时候,设置了'view_depr'=>'_'。

当前模块/默认视图目录/当前控制器(小写)/当前操作(小写).html

经过设置后就成为

当前模块/默认视图目录/当前控制器(小写)_当前操作(小写).html

 

转载于:https://my.oschina.net/u/3042592/blog/1582378

你可能感兴趣的:(php,测试)