ThinkPHP 空操作處理和空控制器處理

2021-07-05 12:00:42 字數 1851 閱讀 6421

1.空操作和空控制器使用

空操作:就沒有指定的操作方法

空控制器:沒有指定控制器

/index.php/home/user/hello 空操作

/index.php/home/beijing/login   空控制器

一般**處於安全考慮不給使用者提示任何錯誤資訊

「空操作」本質意思:乙個物件(

控制器)

呼叫本身不存在的方法

在oop

裡邊,物件呼叫本身不存在方法,處於使用者體驗比較好的角度考慮,我們可以在類裡邊製作乙個魔術方法:

function __call();

為了避免每個控制器裡都弄這個魔術方法,所以在父類裡面製作 ——//controller父類:thinkphp/librray/think/controller.class.php

2. 空操作有兩種解決方案:

① 在對應的控制器裡邊製作乙個方法,名稱為」_empty」,這個控制器的空操作都會自動執行該方法。(推薦使用)

例如:

3.空控制器

空控制器:在例項化控制器物件的時候,沒有找到指定的類

熟記檔案:

index.php  入口檔案

thinkphp/thinkphp.php  框架核心檔案

thinkphp/library/think/think.class.php  框架核心檔案

空控制器處理方案:可以再製作乙個控制器,名稱emptycontroller.class.php

在該控制器內部其實只需要製作乙個_empty()

方法即可。

到此空操作處理和空控制器處理完成!

進行更多交流

ThinkPHP之空模組和空操作

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

Thinkphp教程 空操作

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

thinkPHP的空操作和空控制器

1 空操作 當使用者訪問某控制器下不存在的方法時,tp會自動的執行當前控制器下的 empty方法。對於此機制就是空操作。2 當訪問的控制器下沒有 empty方法時,使用者訪問了不存在的方法 下面以test3為例 時,會報如下的錯誤 3 在控制器中新增 empty方法 namespance 模組名 c...