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