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 相关文章推荐
详细介绍PHP应用提速面面观
Oct 09 PHP
php 移除数组重复元素的一点说明
Nov 27 PHP
php ob_flush,flush在ie中缓冲无效的解决方法
May 09 PHP
xml在joomla表单中的应用详解分享
Jul 19 PHP
PHP面向对象之旅:深入理解static变量与方法
Jan 06 PHP
php数组编码转换示例详解
Mar 11 PHP
php 利用array_slice函数获取随机数组或前几条数据
Sep 30 PHP
2款PHP无限级分类实例代码
Nov 11 PHP
CodeIgniter记录错误日志的方法全面总结
May 17 PHP
Yii2实现让关联字段支持搜索功能的方法
Aug 10 PHP
PHP+JavaScript实现无刷新上传图片
Feb 21 PHP
ThinkPhP+Apache+PHPstorm整合框架流程图解
Nov 23 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连接Oracle数据库
2006/10/09 PHP
将数字格式的计算结果转为汉字格式
2006/10/09 PHP
Zend Framework实现将session存储在memcache中的方法
2016/03/22 PHP
Laravel5.5以下版本中如何自定义日志行为详解
2018/08/01 PHP
Javascript将string类型转换int类型
2010/12/09 Javascript
使用jQuery的attr方法来修改onclick值
2014/07/07 Javascript
javascript检查浏览器是否支持flash的实现代码
2014/08/14 Javascript
为什么Node.js会这么火呢?Node.js流行的原因
2014/12/01 Javascript
详解JavaScript表单验证(E-mail 验证)
2016/03/31 Javascript
Easyui Treegrid改变默认图标的方法
2016/04/29 Javascript
JS简单实现禁止访问某个页面的方法
2016/09/13 Javascript
详解使用vue实现tab 切换操作
2017/07/03 Javascript
详解AngularJS1.x学习directive 中‘&amp; ’‘=’ ‘@’符号的区别使用
2017/08/23 Javascript
vue2.0在table中实现全选和反选的示例代码
2017/11/04 Javascript
vue综合组件间的通信详解
2017/11/06 Javascript
AngularJs 禁止模板缓存的方法
2017/11/28 Javascript
基于Vue中点击组件外关闭组件的实现方法
2018/03/06 Javascript
常用的 JS 排序算法 整理版
2018/04/05 Javascript
javascript json字符串到json对象转义问题
2019/01/22 Javascript
vue 自动化路由实现代码
2019/09/03 Javascript
记录vue做微信自定义分享的一些问题
2019/09/12 Javascript
python删除指定类型(或非指定)的文件实例详解
2015/07/06 Python
Python处理JSON数据并生成条形图
2016/08/05 Python
Python Django框架实现应用添加logging日志操作示例
2019/05/17 Python
python射线法判断一个点在图形区域内外
2019/06/28 Python
python双端队列原理、实现与使用方法分析
2019/11/27 Python
python通用读取vcf文件的类(复制粘贴即可用)
2020/02/29 Python
解决Keras 中加入lambda层无法正常载入模型问题
2020/06/16 Python
最新pycharm安装教程
2020/11/18 Python
Pytorch1.5.1版本安装的方法步骤
2020/12/31 Python
4s店机修工岗位职责
2013/12/20 职场文书
绿色学校实施方案
2014/03/31 职场文书
给孩子的新年寄语
2014/04/08 职场文书
党政领导班子四风问题对照检查材料思想汇报
2014/10/02 职场文书
学习十八大的感悟
2015/08/11 职场文书
CSS3 制作精美的定价表
2021/04/06 HTML / CSS