thinkphp5的$this->fetch()

南楼画角 提交于 2020-11-30 23:25:52

参考:
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


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!