空操作是指系統在找不到指定的操作方法的時候,會定位到空操作(_empty)方法來執行,利用這個機制,我們可以實現錯誤頁面和一些url的優化。
例如,下面我們用空操作功能來實現乙個城市切換的功能。
我們只需要給cityaction類定義乙個_empty (空操作)方法:
1234567
891011
1213
1415
1617
1819
2021
2223
2425
<?php
class
cityaction
extends
action
//注意
city方法 本身是 protected 方法
protected
function
city($name)
}
接下來,我們就可以在瀏覽器裡面輸入
由於cityaction並沒有定義beijing、shanghai或者shenzhen操作方法,因此系統會定位到空操作方法 _empty中去解析,_empty方法的引數就是當前url裡面的操作名,因此會看到依次輸出的結果是:
當前城市:beijing
當前城市:shanghai
當前城市:shenzhen
ThinkPHP之空模組和空操作
遇到這樣的情況,作為程式設計師的我們當然知道是怎麼回事了,但是使用者不知道啊,所以我們可以使用thinkphp的空操作來規避這樣的情況發生,如下圖 定義乙個 empty 方法,當使用者輸入不存在的方法時,程式自動來呼叫此方法,我寫的比較簡單,直接重定向到首頁。重定向是可以了,但是後面跳轉的路徑多了乙...
ThinkPHP空操作與命名空間
命名空間 相當於乙個虛擬的目錄 正常管理檔案使用資料夾 物理區分 tp框架的初始命名空間是 thinkphp library 在tp框架下命名空間裡面使用 代表的是初始命名空間 thinkphp library 1.系統目錄下根命名空間是thinkphp library下面的資料夾名稱命名的 2.模...
thinkPHP的空操作和空控制器
1 空操作 當使用者訪問某控制器下不存在的方法時,tp會自動的執行當前控制器下的 empty方法。對於此機制就是空操作。2 當訪問的控制器下沒有 empty方法時,使用者訪問了不存在的方法 下面以test3為例 時,會報如下的錯誤 3 在控制器中新增 empty方法 namespance 模組名 c...