thinkPHP 空模块和空操作前置操作和后置操作 具体介绍(十四)

Posted blfbuaa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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方法的后置操作。!

‘);
}
}

以上是关于thinkPHP 空模块和空操作前置操作和后置操作 具体介绍(十四)的主要内容,如果未能解决你的问题,请参考以下文章

ThinkPHP - 前置操作+后置操作

thinkphp的空控制器和空操作以及对应解决方法

Thinkphp的空控制器和空操作以及对应解决方法

ThinkPHP3.2基础教程(36)--控制器-前置和后置操作

Thinkphp空操作空模块

ThinkPHP空操作和空控制器的处理