thinkPHP 空模块和空操作、前置操作和后置操作 详细介绍(十四)
原文: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 空模块和空操作、前置操作和后置操作 具体介绍(十四)
本章节:介绍 TP 空模块和空操作.前置操作和后置操作 具体介绍 一.空模块和空操作 1.空操作 function _empty($name){ $this->show("$name ...
- Thinkphp入门 二 —空操作、空模块、模块分组、前置操作、后置操作、跨模块调用(46)
原文:Thinkphp入门 二 -空操作.空模块.模块分组.前置操作.后置操作.跨模块调用(46) [空操作处理] 看下列图: 实际情况:我们的User控制器没有hello()这个方法 一个对象去访问 ...
- ThinkPHP - 前置操作+后置操作
前置操作和后置操作 系统会检测当前操作(不仅仅是index操作,其他操作一样可以使用)是否具有前置和后置操作,如果存在就会按照顺序执行,前置和后置操作的方法名是在要执行的方法前面加 _before ...
- thinkphp 前置和后置操作
前置和后置操作指的是在执行某个操作方法之前和之后会自动调用的方法,不过仅对访问控制器有效. 其他的分层控制器层和内部调用控制器的情况下前置和后置操作是无效的. 系统会检测当前操作是否具有前置和后置操作 ...
- Thinkphp学习笔记3-前置和后置操作
前置和后置操作指的是在执行某个操作方法之前和之后会自动调用的方法,不过仅对访问控制器有效. 其他的分层控制器层和内部调用控制器的情况下前置和后置操作是无效的. 系统会检测当前操作是否具有前置和后置操作 ...
- thinkphp5使用前置后置操作
下面举个例子,前置删除的例子 模型事件只可以在调用模型的方法才能生效,使用查询构造器通过Db类操作是无效的 控制器中实例化类 $cate=model('cate'); $cate-> ...
- Pytest里面的测试用例怎么进行前置准备和后置清理操作?
Pytest处理前置后置有两种方式可以处理. 第一种是通过setup和teardown这样的方法去处理: 第二种是通过fixture来实现的.首先先定义fixture,然后在调用.定义fixture, ...
- thinkPHP 模板中的语法知识 详细介绍(十二)
原文:thinkPHP 模板中的语法知识 详细介绍(十二) 本章节:介绍模板中的语法,详细的语法介绍 一.导入CSS和JS文件 ==>记住常量的是大写 1.css link .js sc ...
- C++中前置操作符和后置操作符的重载
1,C 语言中讨论了原生含义,C++ 中有必要考虑前置.后置操作符能够重载,有何问题: 2,值得思考的问题: 1,下面的代码有没有区别?为什么? 1,i++ // i 的值作为返回值,i 自增 1: ...
随机推荐
- IT忍者神龟之Oracle DBA经常使用查询吐血列举
–1. 查询系统全部对象 select owner, object_name, object_type, created, last_ddl_time, timestamp, status from ...
- Java 自定义日志写入
/** * 将信息写入到日志 * @param content * @return * @throws IOException */ public static boolean writeLog(St ...
- const对象默认是static的,而不是extern的
const 和 static 变量,可以放在头文件中 const对象默认是static的,而不是extern的,所以即使放在头文件中声明和定义.多个cpp引用同一个头文件,互相也没有感知,所以不会导致 ...
- QWidget类中默认是忽略inputMethodEvent事件(要获取输入的内容就必须使用这个事件)
因为项目的需要以及主管的要求,准备将工程移植到Qt中,这样就可以比较容易的实现跨平台了.因为之前工程是在windows下开发的,第一个平台又是mobile所以除了底层框架之外其他的都是使用的windo ...
- hdu 3998 (dp+最大流)
题意:求最长上升子序列的长度和数量. 分析:用dp求出最长上升子序列m,dp数组存的就是该元素为子序列结尾的长度,源点与长度为1的点建边,长度为m的与汇点连边,然后枚举任意两个元素,ai,aj(ai& ...
- 黑马程序猿 ---------- Java网络技术之 ---正則表達式 (Day06)
---------------------- ASP.Net+Unity开发..Net培训.期待与您交流. ---------------------- 正則表達式 正則表達式:基本知识 1 字符, ...
- 在jsp页面下, 让eclipse完全支持HTML/JS/CSS智能提示(转)
我们平时用eclipse开发jsp页面时智能提示效果不太理想,今天用了两个小时发现了eclipse也可以像Visual Studio 2008那样完全智能提示HTML/JS/CSS代码,使用ecl ...
- HTML5 input placeholder 颜色 改动
David Murdoch:Chrome支持input=[type=text]占位文本属性,但下列CSS样式却不起作用: CSS input[placeholder], [placeholder], ...
- 【翻译】Sencha Ext JS 5公布
原文:Announcing Sencha Ext JS 5 简单介绍 我代表Sencha和整个Ext JS团队,非常自豪的宣布,在今天,Sencha Ext JS 5公布了.Ext JS 5已经迈出了 ...
- POJ 1955 Rubik's Cube
暴力模拟就好了.... vim写代码真费事,手都写酸了... Rubik's Cube Time Limit: 1000MS Memory Limit: 30000K Total Submissi ...