控制器定義比較靈活,可以無需繼承任何的基礎類,也可以繼承官方封裝 的
\think\controller
類或者其他的控制器類。
乙個典型的控制器類定義如下:
class index}
控制器類檔案的實際位置是
控制器類可以無需繼承任何類,命名空間預設以
為根命名空間。
控制器的根命名空間可以設定,例如我們在應用配置檔案中修改:
// 修改應用類庫命名空間
class index
}
只是命名空間改變了,但實際的檔案位置和檔名並沒有改變。
使用該方式定義的控制器類,如果要在控制器裡面渲染模板,可以使用
use think\view;
class index}
或者直接使用
view
助手函式渲染模板輸出,例如:
class index}
如果繼承了
`think\controller`
類的話,可以直接呼叫
`think\view`
及`think\request`類
的方法,例如:
use think\controller;
class index extends controller}
## 渲染輸出
預設情況下,控制器的輸出全部採用
`return`
的方式,無需進行任何的手動輸出,系統會自動完成
渲染內容的輸出。
下面都是有效的輸出方式:
class index
public function json()
public function read()}
控制器一般不需要任何輸出,直接
return
即可。
預設情況下,控制器的返回輸出不會做任何的資料處理,但可以設定輸出格式,並進行自動的資料轉
換處理,前提是控制器的輸出資料必須採用
`return`
的方式返回。
如果控制器定義為:
class index
public function data()}
當我們設定輸出資料格式為
json:
// 預設輸出型別
'default_return_type' => 'json',
我們訪問
輸出的結果變成:
"hello,world!"
預設情況下,控制器在
ajax
請求會對返回型別自動轉換,預設為
json
如果我們控制器定義
class index}
我們訪問
輸出的結果變成:
當我們設定輸出資料格式為
html
:
// 預設輸出型別
'default_ajax_return' => 'html',
這種情況下
ajax
請求不會對返回內容進行轉換
第六周周總結
這一周,不管是生活上的還是學習上的,亦或是工作上的,都異常的忙碌,忙碌到心態會有些崩潰的地步,可能是性格原因,不願意說放棄就放棄,所以還是希望可以完成自己該做的,想做的事情。堅持不是一件容易的事情,可怕的是你都不知道自己的堅持到底對不對,不管正確與否,我都選擇,做下去。像長跑,原以為自己肯定跑不動,...
第六周周總結
在第六周中是忙碌的,對於高數,上課的內容也在快速的翻篇,我的大腦也在快速的運轉著,講概念的時候我很難理解過來,但是講習題的時候勉勉強強能聽的懂,每次在聽不懂的地方我都會打個問號,以便於自己下課後方便問同學,我覺得這也是初中以來養成的乙個好習慣吧,數學的作業真的太傷腦細胞了,往往要思考很久才能做出一題...
第六周作業
a.用指標訪問物件 includeusing namespace std class a a int aa a aa 定義建構函式,用引數aa初始化資料成員a void display int main b.指標型別作為成員函式的引數 includeusing namespace std class...