thinkPHP 空模塊和空操作、前置操作和後置操作 詳細介紹(十四)
本章節:介紹 TP 空模塊和空操作、前置操作和後置操作 詳細介紹
一、空模塊和空操作
1、空操作
function _empty($name){
$this->show("$name 不存在 www.Bkjia.com");
}
2.空模塊(EmptyAction.class.php的文件)
class EmptyAction extends Action{
function index(){
//$this->show('
該請求方法不存在!
')
$city=M('City');
$arr=$city->select();
$this->assign('list',$arr);
$name=MODULE_NAME; //獲取當前模塊名,手冊常量參考有一堆類似常量
//http://localhost/thinkphp/index.php/Index/moBanXuanRan
//模塊名就是:Index
$this->display("City:$name");
}
}
當前模塊下(控制器),調用其他模塊下的方法:
//在CityAction控制器下調用IndexAction控制器下的方法
//直接new下,能後在找到對應方法即可
class CityAction extends Action{
public function tiaozhuan(){
$indexAction = new IndexAction();
$indexAction->index();
}
}
?>
二、前置操作和後置操作
解釋:www.Bkjia.com
比如:我現在在執行 http://localhost/thinkphp/index.php/Index/index index方法
前置方法:在執行index方法之前,執行的一些邏輯操作
後置方法:在執行完index方法後,執行的一些邏輯操作
例子:比如你現在做了個網站,但是訪問你這個網站的摸個方法時候必須登錄,就可以用
前置和後置操作
1、前置操作: _before_操作名
2、後置操作: _after_操作名
class IndexAction extends Action{
public _before_index(){
//判斷,如果沒有登錄就跳轉到首頁
//如果沒登錄就跳轉到登錄頁面
if(!isset($_SESSION['username']) || $_SESSION['username']==''){
$this->redirect('Login/index'); //跳轉到Login控制器下的index方法
}
}
public function index(){
$user = M('User');
$arr = $user->select();
$this->assign('list',$arr);
$this->display();
}
public _after_index(){
$this->show('這是index方法的後置操作!!');
}
}