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 方法,當使用者輸入不存在的方法時,程式自動來呼叫此方法,我寫的比較簡單,直接重定向到首頁。重定向是可以了,但是後面跳轉的路徑多了乙...