thinkPHP的空操作和空控制器

2021-09-13 11:40:00 字數 1249 閱讀 2898

1、空操作

當使用者訪問某控制器下不存在的方法時,tp會自動的執行當前控制器下的_empty方法。對於此機制就是空操作。

2、當訪問的控制器下沒有_empty方法時,使用者訪問了不存在的方法(下面以test3為例)時,會報如下的錯誤

3、在控制器中新增_empty方法

<?php 

namespance 模組名\controller;

use think\controller; #use tp的控制器基類

/** * 控制器

*/class classnamecontroller extends controller

}?>

在控制器中新增空操作方法,有助於提高使用者的體驗,在使用者訪問不存在的方法時,不至於報錯,而是友好的提示使用者一些更易於接受的資訊。

4、空控制器

當使用者訪問不存在的控制器,tp會自動呼叫空控制器下的對應方法,此機制就是空控制器。

沒有空控制器,而訪問了不存在的控制器時,會報如下的錯誤

5、建立空控制器

<?php 

namespace 模組名\controller;

use think\controller;

/** * 空控制器的類名必須為empty

*/class emptycontroller extends controller

?>

6、訪問不存在的空控制器,仍會報錯如步驟4.因為當訪問不存在的控制器的方法時,tp會訪問空控制器中對應的方法,上面建立的空控制器中沒有任何方法,因此會報錯。

7、結合空操作的作用,很容易想到在空控制器中新增空操作,就解決了訪問不存在的控制器的任何方法。

<?php 

namespace 模組名\controller;

use think\controller;

/** * 空控制器的類名必須為empty

*/class emptycontroller extends controller

}?>

8、再次訪問不存在的控制器的方法時,則不再報錯,給使用者乙個友好的提示。

空操作和空控制器

空操作 空操作是指系統在找不到請求的操作方法的時候,會定位到當前控制器的空操作 empty 方法來執 行。舉例 namespace home controller use think controller class citycontroller extends controller 注意 city...

Thinkphp教程 空操作

空操作是指系統在找不到指定的操作方法的時候,會定位到空操作 empty 方法來執行,利用這個機制,我們可以實現錯誤頁面和一些url的優化。例如,下面我們用空操作功能來實現乙個城市切換的功能。我們只需要給cityaction類定義乙個 empty 空操作 方法 123 4567 891011 1213...

ThinkPHP之空模組和空操作

遇到這樣的情況,作為程式設計師的我們當然知道是怎麼回事了,但是使用者不知道啊,所以我們可以使用thinkphp的空操作來規避這樣的情況發生,如下圖 定義乙個 empty 方法,當使用者輸入不存在的方法時,程式自動來呼叫此方法,我寫的比較簡單,直接重定向到首頁。重定向是可以了,但是後面跳轉的路徑多了乙...