ThinkPHP的空模塊和空操作也是很有實用意義的功能,空模塊的概念就是當ThinkPHP找不到指定模塊的時候,它會嘗試去定位空模塊(EmptyAction),執行空模塊裡面的index操作。同理,空操作也是同樣的概念,當系統找不到指定模塊下的操作方法的時候,就會嘗試去定位空操作方法(empty)。其實很好理解,就有點類似php虛擬主機裡面的自定義404頁面,但它比自定義404更加靈活,利用這個機制,我們可以實現錯誤頁面和一些URL的優化,下面分別詳細介紹下空模塊和空操作的寫法。
1.空模塊,在項目中定義EmptyAction類:
<?php public class EmptyAction extends Action { public function index(){ echo "當前模塊不存在"; } } ?>
這就是一個簡單的空模塊類,當然您也可以在裡面做一些更加復雜的操作,一切都得根據項目的需求來寫,這裡只是做了演示。
2.空操作,空操作即在指定的模塊下面定義,比如說,我們在User這個模塊,也就是UserAction類下面定義一個空操作。
<?php class UserAction extends Action { public function index() { $this->display(); } public function demo(){$this->display(); } public function _empty(){ //該方法即為空操作 echo '當前操作不存在'; } } ?>
代碼很簡單,這就是一個空方法,並且空模塊和空操作還可以同時使用,用以完成更加復雜的操作。