ThinkPHP空模块和空操作详解


Posted in PHP onJune 30, 2014

ThinkPHP的空模块和空操作也是很有实用意义的功能,空模块的概念就是当ThinkPHP找不到指定模块的时候,它会尝试去定位空模块(EmptyAction),执行空模块里面的index操作。同理,空操作也是同样的概念,当系统找不到指定模块下的操作方法的时候,就会尝试去定位空操作方法(empty)。其实很好理解,就有点类似php虚拟主机里面的自定义404页面,但它比自定义404更加灵活,利用这个机制,我们可以实现错误页面和一些URL的优化,下面分别详细介绍下空模块和空操作的写法。

1.空模块,在项目中定义EmptyAction类:

<?php
public class EmptyAction extends Action {
public function index(){
echo "当前模块不存在";
  }
 }
?>

这就是一个简单的空模块类,当然您也可以在里面做一些更加复杂的操作,一切都得根据项目的需求来写,这里只是做了演示。

2.空操作,空操作即在指定的模块下面定义,比如说,我们在User这个模块,也就是UserAction类下面定义一个空操作。

<?php
class UserAction extends Action
{
public function index()
{
$this->display();
  }
public function demo(){$this->display();
  }
public function _empty(){
   //该方法即为空操作
   echo '当前操作不存在';
  }
 }
?>

代码很简单,这就是一个空方法,并且空模块和空操作还可以同时使用,用以完成更加复杂的操作。

PHP 相关文章推荐
杏林同学录(四)
Oct 09 PHP
用PHP的ob_start();控制您的浏览器cache!
Feb 14 PHP
从MySQL数据库表中取出随机数据的代码
Sep 05 PHP
说明的比较细的php 正则学习实例
Jul 30 PHP
php 动态执行带有参数的类方法
Apr 10 PHP
php设计模式 Decorator(装饰模式)
Jun 26 PHP
PHP实现可自定义样式的分页类
Mar 29 PHP
PDO的安全处理与事物处理方法
Oct 31 PHP
PHP实现阿里大鱼短信验证的实例代码
Jul 10 PHP
Yii2框架中使用PHPExcel导出Excel文件的示例
Aug 09 PHP
PHPMAILER实现PHP发邮件功能
Apr 18 PHP
Laravel框架基于中间件实现禁止未登录用户访问页面功能示例
Jan 17 PHP
ThinkPHP视图查询详解
Jun 30 #PHP
php中eval函数的危害与正确禁用方法
Jun 30 #PHP
PHP登录环节防止sql注入的方法浅析
Jun 30 #PHP
PHP获取时间排除周六、周日的两个方法
Jun 30 #PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十六)
Jun 30 #PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十五)
Jun 30 #PHP
解析PHP强制转换类型及远程管理插件的安全隐患
Jun 30 #PHP
You might like
Php连接及读取和写入mysql数据库的常用代码
2014/08/11 PHP
分享5个非常有用的Laravel Blade指令
2018/05/30 PHP
Javascript Math ceil()、floor()、round()三个函数的区别
2010/03/09 Javascript
基于Jquery的跨域传输数据(JSONP)
2011/03/10 Javascript
说说JSON和JSONP 也许你会豁然开朗
2012/09/02 Javascript
基于javascript滚动图片具体实现
2013/11/18 Javascript
js实现简单锁屏功能实例
2015/05/27 Javascript
jquery实现网页的页面平滑滚动效果代码
2015/11/02 Javascript
angular route中使用resolve在uglify压缩后问题解决
2016/09/21 Javascript
jQuery鼠标事件总结
2016/10/13 Javascript
原生js实现简单的链式操作
2017/07/04 Javascript
Vue中添加手机验证码组件功能操作方法
2017/12/07 Javascript
javascript实现点击小图显示大图
2020/11/29 Javascript
[47:36]Optic vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
pygame学习笔记(6):完成一个简单的游戏
2015/04/15 Python
Python标准库06之子进程 (subprocess包) 详解
2016/12/07 Python
python 将字符串转换成字典dict的各种方式总结
2018/03/23 Python
从0开始的Python学习014面向对象编程(推荐)
2019/04/02 Python
深入浅析python 协程与go协程的区别
2019/05/09 Python
Python 实现还原已撤回的微信消息
2019/06/18 Python
通过python改变图片特定区域的颜色详解
2019/07/15 Python
Python计算两个矩形重合面积代码实例
2019/09/16 Python
Python+opencv+pyaudio实现带声音屏幕录制
2019/12/23 Python
详解CSS3浏览器兼容
2016/12/14 HTML / CSS
美国照明、家居装饰和家具购物网站:Bellacor
2017/09/20 全球购物
办公室文秘自我鉴定
2013/09/21 职场文书
酒店保安领班职务说明书
2014/03/04 职场文书
大学生两会学习心得体会
2014/03/10 职场文书
党组织公开承诺书
2014/03/29 职场文书
个性婚礼策划方案
2014/05/17 职场文书
学雷锋先进个人事迹
2014/05/26 职场文书
2014物价局民主生活会对照检查材料思想汇报
2014/09/24 职场文书
2016年小学党支部创先争优活动总结
2016/04/05 职场文书
html中显示特殊符号(附带特殊字符对应表)
2021/06/21 HTML / CSS
零基础学java之循环语句的使用
2022/04/10 Java/Android
高通2023 年将发布高性能PC处理器
2022/04/29 数码科技