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 相关文章推荐
PHP4 与 MySQL 数据库操作函数详解
Dec 06 PHP
PHP 加密解密内部算法
Apr 22 PHP
php邮件发送,php发送邮件的类
Mar 24 PHP
几种有用的变型 PHP中循环语句的用法介绍
Jan 30 PHP
怎样给PHP源代码加密?PHP二进制加密与解密的解决办法
Apr 22 PHP
深入php函数file_get_contents超时处理的方法详解
Jun 03 PHP
php删除字符串末尾子字符,删除开始字符,删除两端字符(实现代码)
Jun 27 PHP
php将数组转换成csv格式文件输出的方法
Mar 14 PHP
PHP图像裁剪缩略裁切类源码及使用方法
Jan 07 PHP
php实现的中文分词类完整实例
Feb 06 PHP
php利用嵌套数组拼接与解析json的方法
Feb 07 PHP
laravel 查询数据库获取结果实现判断是否为空
Oct 24 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
配置支持SSI
2006/11/25 PHP
snoopy PHP版的网络客户端提供本地下载
2008/04/15 PHP
php程序效率优化的一些策略小结
2010/07/17 PHP
php多层数组与对象的转换实例代码
2013/08/05 PHP
PHP自定义函数格式化json数据示例
2016/09/14 PHP
php如何修改SESSION的生存存储时间的实例代码
2017/07/05 PHP
IE不出现Flash激活框的小发现的js实现方法
2007/09/07 Javascript
Jquery ajax不能解析json对象,报Invalid JSON错误的原因和解决方法
2010/03/27 Javascript
jQuery之网页换肤实现代码
2011/04/30 Javascript
jquery动态添加删除div 具体实现
2013/07/20 Javascript
借助javascript代码判断网页是静态还是伪静态
2014/05/05 Javascript
jquery实现具有收缩功能的垂直导航菜单
2016/02/16 Javascript
如何高效率去掉js数组中的重复项
2016/04/12 Javascript
BootStrap网页中代码显示用法详解
2016/10/21 Javascript
微信小程序实现循环动画效果
2018/07/16 Javascript
webpack4.x CommonJS模块化浅析
2018/11/09 Javascript
Vue.js 中的 v-model 指令及绑定表单元素的方法
2018/12/03 Javascript
微信小程序学习笔记之文件上传、下载操作图文详解
2019/03/29 Javascript
JS中getElementsByClassName与classList兼容性问题解决方案分析
2019/08/07 Javascript
JS错误处理与调试操作实例分析
2020/04/13 Javascript
[49:56]VG vs Optic 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python3.2中Print函数用法实例详解
2015/05/19 Python
5种Python单例模式的实现方式
2016/01/14 Python
python运行时间的几种方法
2016/06/17 Python
深入了解和应用Python 装饰器 @decorator
2019/04/02 Python
python实现关闭第三方窗口的方法
2019/06/28 Python
使用TensorFlow-Slim进行图像分类的实现
2019/12/31 Python
关于Pytorch的MNIST数据集的预处理详解
2020/01/10 Python
详解HTML5表单新增属性
2016/12/21 HTML / CSS
加热夹克:RAVEAN
2018/10/19 全球购物
使用索引(Index)有哪些需要考虑的因素
2016/10/19 面试题
运动会通讯稿100字
2014/01/31 职场文书
霸气押韵的班级口号
2014/06/09 职场文书
法学院毕业生求职信
2014/06/25 职场文书
拾金不昧锦旗标语
2014/06/27 职场文书
干部考核工作总结
2015/08/12 职场文书