THINKPHP5第三章(接著上次的第二章講

2021-08-19 19:26:46 字數 2064 閱讀 9602

上次我們講到控制器中的emty方法也就是空方法,下面我們來說說這個方法。假設這裡使用者在瀏覽器的導航欄中輸入了乙個沒有被定義的方法,那麼很明顯,檢視層會提示你不存在此方法。那麼我們可以利用這個empty空方法來實現你自己的頁面,比如說像這樣子的。首先你的如手冊所說在控制器下面定義乙個empty方法。記住方法名前面有個下_,像這樣子_empty(){}前面跟上修飾器。接著我們可以在{}內實現你想要的結果。比如說,如果出現了不存在的路由位址(路由位址這裡就指的是url)我們可以在空方法中重定向到404頁面(這個404頁面可以是你自己的,也可以是自帶的。)或者你亦可以在方法體類執行你自己定義的另外乙個方法,記住是這樣子的 return $this->方法名。如下圖所示

可以使用如上圖所示的模板變數。接下來我們說重定向redirect()方法。使用過3.2的朋友們對他應該不陌生吧,在tp5.0中他的使用方法跟url::build方法用法一致,一致。所以他同樣可以這樣使用,$this->redirect('模組方法',['cate_id'=>2]),當然也可以像url方法一樣傳遞變數,要求是乙個陣列,然後鍵值對的形式,這樣['data'=>'hello'],當然也可以多個引數變數,逗號分開就行。['data'='hello','name'=>'world'],同樣此方法也可以定義路由的狀態嘛,302,404....。在小括號中用逗號隔開,直接填寫狀態碼即可。使用redirect助手函式還可以實現更多的功能。只需要鏈式操作即可可以記住路由位址再跳轉,這個東西可以拿來做審核一樣的東西。1->2->3->4,redirect()->remember()記住路由後,可以使用redirect()->restore()回退。

下面我說說多級控制器,多級控制器你可以理解為在同乙個(類)模組下的不同方法操作,

相信大家看到這個東西就很熟悉了對吧,對應的分別是curd操作(及增刪改查),用途的話就很廣了,這裡大家自己去試試就應該能明白了吧。分層控制器跟這個差不多,他倆主要的區別還是路由的不同。所以這裡大家參考下手冊就能明了了。

下面是rest控制器的作用。如果在某層控制器下面需要用到restful方法,請在命名空間下面引入use think\controller\rest;

相信restful大家可能沒聽過,但是一定知道這個東西,這個東西可以對請求的型別或者資源進行判斷,假設我們現在有個介面需要讓我們返回text或則json或者html的資料,且處於安全考慮我們要求請求的型別必須是post,那麼就可以如下圖所示來操作啦,這裡切記,不要忘記了在config.php中配置自己的格式等資訊。如下圖所示。

所以小夥伴們,明白了這個rest的重要性了嘛。不要再為返回什麼遍歷轉換資料而發愁了。

下面是資源控制器的生成,記住是**生成,如果下圖所示

執行此命令列後會對應生成預設的幾個路由,這個就跟larvarel的中那個很像。預設的幾個如下圖所示。

好了今天控制器裡面的東西我們就講完了。下次我們接著下面講。拜

第三章 堆疊

1.基礎知識 堆疊可以實現很多的應用,遞迴的問題轉化成非遞迴形式,在本質上也是堆疊的問題.它是一種 filo 操作的資料結構,一般也有兩種儲存方式 陣列跟鍊錶實現形式,這裡我給出了鍊錶形式的堆疊模板,裡面包括了基本的堆疊所有的操作,還有兩個比較著名的應用例子,時間倉促,精力比較有限,關於迷宮老鼠還沒...

第三章 曙光

第三章 曙光 第二場校園招聘開始了。其實,洋對這個公司的不是很了解。因為前幾天突然在bbs上面看到了這個公司的招聘資訊,洋覺得這個公司不錯,就上網投了簡歷。接下來的乙個多小時,讓洋很震撼!想不到這個公司這個厲害,而且無論從哪方面來說,絕對不比之前的那個公司差。想不到自己的乙個不經意的決定到了這個大的...

第三章 遞迴

遞迴是一種強大的方法,它允許乙個物件以其自身更小的形式來定義自己。恐怕沒有什麼比觀察神秘的自然界中出現的遞迴現象更好的方法來體會遞迴的重要意義了。想想蕨類植物的葉子,每片葉子的小枝幹都是整片葉子的較小縮影 又或者兩個反光的物體,相互對映對方的漸遠的影像。這樣的例子使我們明白儘管大自然的力量是強大的,...