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函数memory_get_usage获取PHP内存清耗量的方法
Dec 06 PHP
php长字符串定义方法
Jul 12 PHP
php实现utf-8和GB2312编码相互转换函数代码
Feb 07 PHP
Thinkphp实现MySQL读写分离操作示例
Jun 25 PHP
destoon实现调用热门关键字的方法
Jul 15 PHP
php使用function_exists判断函数可用的方法
Nov 19 PHP
PHP中使用imagick生成PSD文件缩略图教程
Jan 26 PHP
PHP实现的通过参数生成MYSQL语句类完整实例
Apr 11 PHP
PHP简单判断手机设备的方法
Aug 23 PHP
thinkPHP线上自动加载异常与修复方法实例分析
Dec 01 PHP
浅谈Laravel队列实现原理解决问题记录
Aug 19 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索引问题
2008/06/07 PHP
PHP 获取MSN好友列表的代码(2009-05-14测试通过)
2009/09/09 PHP
php加水印的代码(支持半透明透明打水印,支持png透明背景)
2013/01/17 PHP
php压缩HTML函数轻松实现压缩html/js/Css及注意事项
2013/01/27 PHP
thinkPHP3.2简单实现文件上传的方法
2016/05/16 PHP
Javascript倒计时代码
2010/08/12 Javascript
JQuery中html()方法使用不当带来的陷阱
2011/04/07 Javascript
那些年,我还在学习jquery 学习笔记
2012/03/05 Javascript
自己写了一个展开和收起的多更能型的js效果
2013/03/05 Javascript
多个jquery.datatable共存,checkbox全选异常的快速解决方法
2013/12/10 Javascript
javascript中的原型链深入理解
2014/02/24 Javascript
JavaScript实现给按钮加上双重动作的方法
2015/08/14 Javascript
jQuery实现TAB选项卡切换特效简单演示
2016/03/04 Javascript
vuejs绑定class和style样式
2017/04/11 Javascript
jquery实现限制textarea输入字数的方法
2017/09/06 jQuery
微信小程序中setInterval的使用方法
2017/09/29 Javascript
vue自定义插件封装,实现简易的elementUi的Message和MessageBox的示例
2020/11/20 Vue.js
Python字符串详细介绍
2015/05/09 Python
python通过函数属性实现全局变量的方法
2015/05/16 Python
分享一下Python 开发者节省时间的10个方法
2015/10/02 Python
Python编程修改MP3文件名称的方法
2017/04/19 Python
python中for用来遍历range函数的方法
2018/06/08 Python
python和opencv实现抠图
2018/07/18 Python
python 3调用百度OCR API实现剪贴板文字识别
2018/09/04 Python
Python绘制并保存指定大小图像的方法
2019/01/10 Python
在Python中等距取出一个数组其中n个数的实现方式
2019/11/27 Python
对Matlab中共轭、转置和共轭装置的区别说明
2020/05/11 Python
HTML5的postMessage的使用手册
2018/12/19 HTML / CSS
FILA斐乐中国官方商城:意大利运动品牌
2017/01/25 全球购物
NYX Professional Makeup俄罗斯官网:世界知名的化妆品品牌
2019/12/26 全球购物
安全生产责任书
2014/03/12 职场文书
团日活动总结书
2014/05/08 职场文书
清明节演讲稿
2014/05/27 职场文书
领导干部作风建设自查报告
2014/10/23 职场文书
营业员岗位职责范本
2015/04/14 职场文书
七年级作文之雪景
2019/11/18 职场文书