本章节:介绍 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 空模块和空操作、前置操作和后置操作 详细介绍(十四)

    原文:thinkPHP 空模块和空操作.前置操作和后置操作 详细介绍(十四) 本章节:介绍 TP 空模块和空操作.前置操作和后置操作 详细介绍 一.空模块和空操作 1.空操作 function _em ...

  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. C++中前置操作符和后置操作符的重载

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

  9. eas之dep的前置脚本和后置脚本

    dep的前置脚本和后置脚本,什么时候写,是这样解释的:    前置脚本是在方法前执行,后置脚本是在方法后执行    1.比如保存扩展,如果你要在保存前校验某个字段的值,你要在前置脚本中写,如果要保存后 ...

随机推荐

  1. thinkphp实现多数据库操作

    这篇文章主要介绍了ThinkPHP实现多数据库连接的解决方法,需要的朋友可以参考下   ThinkPHP实现连接多个数据的时候,如果数据库在同一个服务器里的话只需要这样定义模型: ? 1 2 3 cl ...

  2. 深入理解 python 元类

    一.什么的元类 # 思考: # Python 中对象是由实例化类得来的,那么类又是怎么得到的呢? # 疑问: # python 中一切皆对象,那么类是否也是对象?如果是,那么它又是那个类实例化而来的呢 ...

  3. CSS Flexbox 弹性盒子模型

    CSS Flexbox 弹性盒子模型 设置元素样式为 display: flex 或 display: inline-flex, 让元素变成flex容器, 从而可以通过flex模式布局它的子元素. f ...

  4. 实现第三方登录(QQ、微信、微博)

    第三方登录,就是使用大家比较熟悉的比如QQ.微信.微博等第三方软件登录自己的网站,这可以免去注册账号.快速留住用户的目的,免去了相对复杂的注册流程.下边就给大家讲一下怎么使用PHP开发QQ登录的功能. ...

  5. PostgreSQL 保留关键字添加方法之一,不带参数的函数

    以添加sysdate关键字为例说明: 1.src\backend\parser\gram.y文件的%token <keyword>段添加SYSDATE关键字,建议按照ASCII顺序添加 2 ...

  6. smarty 3 + codeigniter 2 + hmvc

    参考资料 https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/src/fecd39ccdf56?at=defau ...

  7. required输入框为必填项

    required <input type="text" placeholder="cat photo URL" required>

  8. css常用代码大全以及css兼容(转载)

    css常见的快捷开发代码汇总(长期更新),包括CSS3代码,有一些css效果很顽固,经常会一时找不出解决方案,网络上也有很多的工具和高手提供了具体的浏览器兼容代码,这个页面我今后会经常整理,希望能够帮 ...

  9. HH的项链 树状数组动态维护前缀

    #include<cstdio> #include<algorithm> #include<cstring> using namespace std; const ...

  10. iOS tcpdump抓包方法(需越狱)

    前提条件:机器要破解,cydia能打开 需要工具1.openssh2.tcpdump 安装工具方法:1.连接网络,打开cydia2.确认Cydia设置为开发者模式(管理->设置->开发者) ...