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 相关文章推荐
关于二级目录拖拽排序的实现(源码示例下载)
Apr 26 PHP
解析php中die(),exit(),return的区别
Jun 20 PHP
如何使用“PHP” 彩蛋进行敏感信息获取
Aug 07 PHP
php实现加减法验证码代码
Feb 14 PHP
详解PHP中strlen和mb_strlen函数的区别
Mar 07 PHP
PHP提交表单失败后如何保留已经填写的信息
Jun 20 PHP
关于PHP开发的9条建议
Jul 27 PHP
PHP实现多关键字加亮功能
Oct 21 PHP
PHP curl 或 file_get_contents 获取需要授权页面的方法
May 05 PHP
PHP实现json_decode不转义中文的方法
May 20 PHP
Laravel框架实现利用监听器进行sql语句记录功能
Jun 06 PHP
TP5(thinkPHP5)框架使用ajax实现与后台数据交互的方法小结
Feb 10 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之源码目录结构与功能说明
2016/06/01 PHP
phpinfo无法显示的原因及解决办法
2019/02/15 PHP
JavaScript 捕获窗口关闭事件
2009/07/26 Javascript
javascript 数组学习资料收集
2010/04/11 Javascript
hover的用法及live的用法介绍(鼠标悬停效果)
2013/03/29 Javascript
js switch case default 的用法示例介绍
2013/10/23 Javascript
JS实现至少包含字母、大小写数字、字符的密码等级的两种方法
2015/02/03 Javascript
jquery实现表格本地排序的方法
2015/03/11 Javascript
javascript 动态修改css样式方法汇总(四种方法)
2015/08/27 Javascript
理解AngularJs指令
2015/12/10 Javascript
Function.prototype.apply()与Function.prototype.call()小结
2016/04/27 Javascript
详解vue项目首页加载速度优化
2017/10/18 Javascript
js实现数组内数据的上移和下移的实例
2017/11/14 Javascript
node.js中npm包管理工具用法分析
2020/02/14 Javascript
ES6扩展运算符和rest运算符用法实例分析
2020/05/23 Javascript
Python中基本的日期时间处理的学习教程
2015/10/16 Python
Python之re操作方法(详解)
2017/06/14 Python
python输入错误密码用户锁定实现方法
2017/11/27 Python
python按时间排序目录下的文件实现方法
2018/10/17 Python
Python中Proxypool库的安装与配置
2018/10/19 Python
Python删除n行后的其他行方法
2019/01/28 Python
python安装scipy的步骤解析
2019/09/28 Python
Python如何计算语句执行时间
2019/11/22 Python
Python判断远程服务器上Excel文件是否被人打开的方法
2020/07/13 Python
python 邮件检测工具mmpi的使用
2021/01/04 Python
英国的屈臣氏:Boots博姿
2017/12/23 全球购物
Java如何格式化日期
2012/08/07 面试题
应届毕业生自我鉴定范文
2013/12/27 职场文书
企业家王石演讲稿:坚持与放下
2014/04/27 职场文书
和谐家庭演讲稿
2014/05/24 职场文书
单位考核聘任报告
2015/03/02 职场文书
2015年保洁员工作总结
2015/05/04 职场文书
五一晚会主持词
2015/07/01 职场文书
微信小程序实现录音Record功能
2021/05/09 Javascript
Kubernetes中Deployment的升级与回滚
2022/04/01 Servers
使用compose函数优化代码提高可读性及扩展性
2022/06/16 Javascript