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