原文: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. 【 Apifox】Apifox的前置操作与后置操作

    Apifox官网地址:http://apifox.cn/a103abcc 文章目录 一.断言 二.提取变量 三.数据库操作 结语 一.断言 后置操作支持添加断言,可对接口返回的数据(或响应时间)设置断 ...

  3. 单元测试|Unittest setup前置初始化和teardown后置操作

    Unittest setup前置初始化和teardown后置操作 针对类中每个函数执行时进行前置后置的操作 setUp(self):测试前的初始化操作 tearDown(self):测试后的操作 代码 ...

  4. 使用匿名函数动态设置前置或者后置操作(装饰器模式的)

    我的个人博客:逐步前行STEP 在维护另一个同事的代码时,由于代码量比较大而且封装程度低耦合高,维护起来不太顺手,就怕哪没注意把现有的逻辑改坏了,受到laravel-admin的保存回调功能的启发,想 ...

  5. Pytest fixture实现测试用例前置后置操作

    大家好,我是杨叔.每天进步一点点,关注微信公众号[程序员杨叔],了解更多测试开发技术知识! 一.背景 自动化测试时必然会碰到用例执行前,需要做一些前置操作,以及用例执行后,需要做一些后置操作的时候.本 ...

  6. pytest系列——fixture之yield关键字实现teardown用例后置操作

    fixture之yield关键字实现teardown用例后置操作 前言 ①pytest之fixture函数使用(pytest测试框架测试固件 文中讲到,fixture函数是通过scope参数来控制se ...

  7. Spring AOP中的前置通知和后置通知详解

    不同版本的spring对AOP的支持有所不同,spring2.0之前,它主要针对不同类型的拦截器使用XML配置文件通过代理来实现.而spring2.0之后,它可以使用JDK5的注解来完成AOP的实现, ...

  8. Python Pytest前置setup和后置teardown详解

    pytest用例运行级别: ●模块级(setup_module/teardown_module)开始于模块始末,全局的 ●函数级(setup_function/teardown_function)只对 ...

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

    文章目录 1 C++中前置操作符和后置操作符的重载 1.1 前置操作符和后置操作符的原生语义 1.2 ++操作符的重载 1.3 前置++和后置++的真正区别 1 C++中前置操作符和后置操作符的重载 ...

  10. HTML5调用手机前置摄像头或后置摄像头拍照,canvas显示,经过Android测试

    为什么80%的码农都做不了架构师?>>>    但是navigator.getUserMediau已经从 Web 标准中删除,虽然部分浏览器可以使用,生产环境中还是要做好兼容.新的A ...

最新文章

  1. 【连载】高效人士的116个IT秘诀(第2版)——秘诀25快速记录你的工作日志
  2. PyCharm与git/GitHub取消关联
  3. 命令行选项“/source-charset”与预编译头不一致
  4. 基于Hadoop的云盘系统客户端技术选型说明
  5. PAT 1057. 数零壹
  6. YARN配置Kerberos认证
  7. Vue实现仿音乐播放器12-实现歌手页面效果
  8. JAVA基础知识(4)
  9. Linux常用命令:用户
  10. 1130 - Host ‘win7' is not allowed to connect to this mysql server
  11. (7)Java数据结构--集合map,set,list详解
  12. java从入门到精通_Java入门到精通、学习路线、就业方向、薪资及前景分析(上篇)...
  13. Android WebView与JavaScript交互详解
  14. c语言出圈游戏课设报告,c语言作业 出圈游戏
  15. 深入解读Linux内存管理系列(1)——系统启动阶段的操作
  16. 三菱plc pwm指令_三菱PLC高速处理指令编程(新手教学)
  17. PS去掉图片上的文字的6种基本方法
  18. C语言从键盘输入1605,山东理工大学ACM平台题答案关于C语言 1605 Balloon Comes!
  19. mDNS原理的简单理解
  20. 汇编语言笔记-keil5软件仿真及调试

热门文章

  1. sprintf与swprintf
  2. php 学习笔记之日期时间操作一箩筐
  3. 背水一战 Windows 10 (60) - 控件(媒体类): Pointer 涂鸦板, InkCanvas 涂鸦板
  4. Oracle补习班第五天
  5. 最新wp建站做淘宝客系统教程(共6课)附源码
  6. 把触发器说透(转载)
  7. 使用IStream和GDI+在内存中实现图像格式转换
  8. python做图书馆管理系统-为什么我学了一个月python基础了,还写不出简单图书馆系统?...
  9. Java基础-运行原理及变量(01)
  10. 自动生成数据同步存储过程的存储过程