本章节:介绍 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方法的后置操作。!

');
}
}

转载于:https://www.cnblogs.com/blfbuaa/p/7073816.html

thinkPHP 空模块和空操作、前置操作和后置操作 具体介绍(十四)相关推荐

  1. 【 Apifox】Apifox的前置操作与后置操作

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. 异步调用WCF的方法需要小心的地方
  2. Oracle12c 在windonServer2012中安装的步骤
  3. java访问控制符_java中访问控制符的作用
  4. hdu 4501(三维背包问题)
  5. 2018.12.08 codeforces 939E. Maximize!(二分答案)
  6. Java高并发编程详解-代码在本地
  7. 记录一个手写场景的过程
  8. iOS隐私权限的设置
  9. 豆瓣评论【数据集分享】
  10. Elasticsearch常用搜索和分词器
  11. 关于matlab表情包,matlab表情包 - matlab微信表情包 - matlabQQ表情包 - 发表情 fabiaoqing.com...
  12. 骁龙660鸿蒙系统,骁龙660 AIE是什么意思?高通骁龙660 AIE与660的区别
  13. java求指数_Java Math类的常用方法,指数运算
  14. 数据结构练习题——图(含应用题)
  15. android荣耀不弹出获取权限提醒,荣耀手机怎么设置锁屏消息提示?附不提示的解决方法...
  16. VMware下安装centos6.7的步骤
  17. 个人网站接入live2d详细教程
  18. 《Scanner的hasNext、hasNextInt用法》
  19. 天载优配简述指数放量轰动
  20. 中国网民电脑和手机屏幕分辨率

热门文章

  1. Spring 常用注入注解(annotation)和其对应xml标签
  2. 为什么喜欢听钢琴+小提琴
  3. org.apache.hadoop.hive.metastore.api.SerDeInfo; local class incompatible
  4. kaggle中安装lightgbm的gpu版本
  5. colab上下载kaggle上notebook输出的自定义数据集并永久存储到GoogleDrive
  6. 第六章插图以及代码文件和插图之间的对应关系
  7. mysql性能优化-学习笔记
  8. Notepad++ 更换主题
  9. 基本的JVM内存分配过程案例
  10. Delphi开发环境中应用层网络协议的实现