thinkPHP空模組和空操作、前置操作和後置操作詳細介紹(十四)

傑克.陳發表於2015-06-23
原文:
thinkPHP 空模組和空操作、前置操作和後置操作 詳細介紹(十四)

本章節:介紹 TP 空模組和空操作、前置操作和後置操作 詳細介紹


一、空模組和空操作
1、空操作
function _empty($name){
$this->show(“$name 不存在 <a href=`__APP__/Index/index`>返回首頁</a>”);
}
2.空模組(EmptyAction.class.php的檔案)
class EmptyAction extends Action{
function index(){
//$this->show(`<p>該請求方法不存在!</p>`)
$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”);
}
}

當前模組下(控制器),呼叫其他模組下的方法:
<?php
//在CityAction控制器下呼叫IndexAction控制器下的方法
//直接new下,能後在找到對應方法即可
class CityAction extends Action{
public function tiaozhuan(){
$indexAction = new IndexAction();
$indexAction->index();
}
}
?>

二、前置操作和後置操作

解釋:
比如:我現在在執行 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方法的後置操作!!`);
}
}


相關文章