thinkphp5的$this->fetch()

参考:
https://blog.csdn.net/fight_tianer/article/details/78602711
http://www.thinkphp.cn/topic/38624.html
https://www.kancloud.cn/manual/thinkphp5/118114

模板:网页长什么样子。
模板文件:html
模板渲染:打开或加载数据到html文件。

thinkphp5的模板渲染有两种情况:

a、继承了think\Controller 用return $this->fetch();

b、没有继承think\Controller 用return view();


其中 $this->fetch()和view()的用法一样

以第二种为例,对其进行分析

1、无参数。return view();

此时会自动定位模板文件:
当前模块/默认视图目录(view)/以当前控制器(小写)为名的目录/当前方法(小写).html
application/index(当前模板)/view(默认视图文件夹)/login(文件夹,与控制器同名,不过小写)/index.html(当前方法.html)

2、有参数。

a、return view(‘edit’);//跨模板渲染文件。模板渲染文件(edit.html)

此时会自动定位模板文件:
当前模块/默认视图目录(view)/以当前控制器(小写)为名的目录/参数(小写).html
application/index(当前模板)/view(默认视图文件夹)/login(文件夹,与控制器同名,不过小写)/edit.html

b、return view(‘regist/lala’);//跨控制器。控制器名(小写)/模板渲染文件(lala.html)

此时会自动定位模板文件:
当前模块/默认视图目录(view)/以参数控制器(小写)为名的目录/参数(小写).html
application/index(当前模板)/view(默认视图文件夹)/regist(文件夹,与参数控制器同名,小写)/lala.html

c、return view(‘admin@regist/lala’);//跨模板。模板名@控制器名(小写)/模板渲染文件(lala.html)

此时会自动定位模板文件:
参数模块/默认视图目录(view)/以参数控制器(小写)为名的目录/参数(小写).html
application/admin(参数模板)/view(默认视图文件夹)/regist(文件夹,与参数控制器同名,小写)/lala.html

public/index.php为应用统一入口文件(每一个应用各有一个),通过域名进入服务器时,要先访问它,它把application设为应用根目录app。

转自CSDN


posted @ 2019-05-23 09:48  秋风飒爽  阅读(3089)  评论(0编辑  收藏  举报