原文: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 空模块和空操作、前置操作和后置操作 详细介绍(十四)的更多相关文章

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

    本章节:介绍 TP 空模块和空操作.前置操作和后置操作 具体介绍 一.空模块和空操作 1.空操作 function _empty($name){ $this->show("$name ...

  2. Thinkphp入门 二 —空操作、空模块、模块分组、前置操作、后置操作、跨模块调用(46)

    原文:Thinkphp入门 二 -空操作.空模块.模块分组.前置操作.后置操作.跨模块调用(46) [空操作处理] 看下列图: 实际情况:我们的User控制器没有hello()这个方法 一个对象去访问 ...

  3. ThinkPHP - 前置操作+后置操作

    前置操作和后置操作   系统会检测当前操作(不仅仅是index操作,其他操作一样可以使用)是否具有前置和后置操作,如果存在就会按照顺序执行,前置和后置操作的方法名是在要执行的方法前面加 _before ...

  4. thinkphp 前置和后置操作

    前置和后置操作指的是在执行某个操作方法之前和之后会自动调用的方法,不过仅对访问控制器有效. 其他的分层控制器层和内部调用控制器的情况下前置和后置操作是无效的. 系统会检测当前操作是否具有前置和后置操作 ...

  5. Thinkphp学习笔记3-前置和后置操作

    前置和后置操作指的是在执行某个操作方法之前和之后会自动调用的方法,不过仅对访问控制器有效. 其他的分层控制器层和内部调用控制器的情况下前置和后置操作是无效的. 系统会检测当前操作是否具有前置和后置操作 ...

  6. thinkphp5使用前置后置操作

    下面举个例子,前置删除的例子   模型事件只可以在调用模型的方法才能生效,使用查询构造器通过Db类操作是无效的   控制器中实例化类   $cate=model('cate'); $cate-> ...

  7. Pytest里面的测试用例怎么进行前置准备和后置清理操作?

    Pytest处理前置后置有两种方式可以处理. 第一种是通过setup和teardown这样的方法去处理: 第二种是通过fixture来实现的.首先先定义fixture,然后在调用.定义fixture, ...

  8. thinkPHP 模板中的语法知识 详细介绍(十二)

    原文:thinkPHP 模板中的语法知识 详细介绍(十二) 本章节:介绍模板中的语法,详细的语法介绍 一.导入CSS和JS文件    ==>记住常量的是大写 1.css link .js  sc ...

  9. C++中前置操作符和后置操作符的重载

    1,C 语言中讨论了原生含义,C++ 中有必要考虑前置.后置操作符能够重载,有何问题: 2,值得思考的问题: 1,下面的代码有没有区别?为什么? 1,i++  // i 的值作为返回值,i 自增 1: ...

随机推荐

  1. aix网络管理

    lsdev -Cc adapter | grep ent 列出网卡 lsdev -Cc adapter 或者lscfg | grep -i adpter   显示已经安装的网卡 lsdev -Cc i ...

  2. javascript实现快速排

    其基本思路应该是排成两部分单独记录,确定枢轴,实施枢轴到左侧值我们都小于枢轴值.枢轴向右大于枢轴值.这样子不断递归下去 function quicksort(arr,low,high){ var pi ...

  3. linux命令:使用man, 导出man

    要查一个命令怎么使用,使用"man 命令", eg: man find, man ls; "info 命令"貌似也可以看, info find, info ls ...

  4. 新发现的Cyberduck(映射网盘)和zsuncloud(硬件产品很新潮),群辉nas的确好用(购买链接)

    https://cyberduck.io/?l=en http://www.zsuncloud.com/ 群辉nas的确好用啊在哪里可以买到?官网 淘宝也可以自己做黑群晖 先用xpenoboot is ...

  5. QString ini ;转义符

    ini如果value字符串中存在:,通过双引号即可转义 [a] b=sdc";"gf

  6. Fedora 17 下安装codeblocks

    Fedora 17 下安装codeblocks:        1.直接从yum源安装:        sudo yum install codeblocks        2.源码安装        ...

  7. 发现CSDN的一个小Bug,CSDN网站管理人员进来看看哈~~

    CSDN发博文的时候,说转载和翻译的博文不能被推荐到CSDN首页 刚刚我转了一个好的文章,一开始确实“发布到CSDN博客首页”的选项没了,但是之后我发现这个文章我要做点修改,就点击了编辑 之后这个选项 ...

  8. Google App Engine 学习和实践

    这个周末玩了玩Google App Engine,随手写点东西,算是学习笔记吧.不当之处,请多多指正. 作者:liigo,2009/04/26夜,大连 原创链接:http://blog.csdn.ne ...

  9. Swift - 动态添加删除TableView的单元格(以及内部元件)

    在Swift开发中,我们有时需要动态的添加或删除列表的单元格. 比如我们做一个消息提醒页面,默认页面只显示两个单元格.当点击第二个单元格(时间标签)时,下面会再添加一个单元格放置日期选择控件(同时新增 ...

  10. RobotFramework 数据分离

    RobotFramework 数据分离分为三种 1. Run 添加参数 2. 外部的Python文件 3. 读取Excel Run 添加参数 (适用于jenkins) 使用-v 参数名:参数值 使用外 ...