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开发GUI
Oct 09 PHP
同时提取多条新闻中的文本一例
Oct 09 PHP
php获取远程图片的两种 CURL方式和sockets方式获取远程图片
Nov 07 PHP
destoon实现资讯信息前面调用它所属分类的方法
Jul 15 PHP
php中动态调用函数的方法
Mar 16 PHP
Apache启动报错No space left on device: AH00023该怎么解决
Oct 16 PHP
深入php内核之php in array
Nov 10 PHP
PHP检测链接是否存在的代码实例分享
May 06 PHP
浅谈PHP接入(第三方登录)QQ登录 OAuth2.0 过程中遇到的坑
Oct 13 PHP
php + WebUploader实现图片批量上传功能
May 06 PHP
php中对象引用和复制实例分析
Aug 14 PHP
PHP设计模式之迭代器模式Iterator实例分析【对象行为型】
Apr 26 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 session机制
2011/07/17 PHP
php 中英文语言转换类
2011/09/07 PHP
PHP5.5迭代生成器用法实例详解
2016/03/16 PHP
Laravel框架使用Seeder实现自动填充数据功能
2018/06/13 PHP
PHP生成随机码的思路与方法实例探索
2019/04/11 PHP
JavaScipt基本教程之前言
2008/01/16 Javascript
在jquery中处理带有命名空间的XML数据
2011/06/13 Javascript
js变量以及其作用域详解
2020/07/18 Javascript
js捕获鼠标右键菜单中的粘帖事件实现代码
2013/04/01 Javascript
jQuery添加和删除指定标签的方法
2015/12/16 Javascript
浅谈Vue.js中的v-on(事件处理)
2017/09/05 Javascript
Node.js 中使用 async 函数的方法
2017/11/20 Javascript
vue基础之data存储数据及v-for循环用法示例
2019/03/08 Javascript
ES6常用小技巧总结【去重、交换、合并、反转、迭代、计算等】
2019/12/21 Javascript
javascript实现前端分页效果
2020/06/24 Javascript
使用js原生实现年份轮播选择效果实例
2021/01/12 Javascript
[04:44]DOTA2英雄梦之声_第12期_矮人直升机
2014/06/21 DOTA
python 实现删除文件或文件夹实例详解
2016/12/04 Python
Python爬虫包 BeautifulSoup  递归抓取实例详解
2017/01/28 Python
Python实现PS滤镜功能之波浪特效示例
2018/01/26 Python
详解基于django实现的webssh简单例子
2018/07/17 Python
关于python3.9安装wordcloud出错的问题及解决办法
2020/11/02 Python
TIME时代杂志台湾总代理:台时亚洲
2018/10/22 全球购物
财务管理专业自荐信范文
2013/12/24 职场文书
高级护理专业毕业生推荐信
2013/12/25 职场文书
办理生育手续介绍信
2014/01/14 职场文书
幼儿教师考核制度
2014/01/25 职场文书
《乌鸦和狐狸》教学反思
2014/02/08 职场文书
房产转让协议书
2014/04/11 职场文书
普通党员整改措施
2014/10/24 职场文书
2015年高中班级工作总结
2015/07/21 职场文书
创业计划书之闲置物品置换中心
2019/12/25 职场文书
Django对接elasticsearch实现全文检索的示例代码
2021/08/02 Python
linux下安装redis图文详细步骤
2021/12/04 Redis
nginx实现多geoserver服务的负载均衡
2022/05/15 Servers
Hive导入csv文件示例
2022/06/25 数据库