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 '當前操作不存在';
}
}
?>
代碼很簡單,這就是一個空方法,並且空模塊和空操作還可以同時使用,用以完成更加復雜的操作。