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 相关文章推荐
用Flash图形化数据(二)
Oct 09 PHP
实用函数7
Nov 08 PHP
PHP版国家代码、缩写查询函数代码
Aug 14 PHP
php cc攻击代码与防范方法
Oct 18 PHP
sql注入与转义的php函数代码
Jun 17 PHP
json的键名为数字时的调用方式(示例代码)
Nov 15 PHP
php共享内存段示例分享
Jan 20 PHP
PHP中cookie和session的区别实例分析
Aug 28 PHP
php输入流php://input使用浅析
Sep 02 PHP
php中异常处理方法小结
Jan 09 PHP
yii用户注册表单验证实例
Dec 26 PHP
Yii2增删改查之查询 where参数详细介绍
Aug 08 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
《魔兽世界》惊魂幻象将获得调整
2020/03/08 其他游戏
php 操作数组(合并,拆分,追加,查找,删除等)
2012/07/20 PHP
php中将一段数据存到一个txt文件中并显示其内容
2014/08/15 PHP
PHP调用Linux命令权限不足问题解决方法
2015/02/07 PHP
js 兼容多浏览器的回车和鼠标焦点事件代码(IE6/7/8,firefox,chrome)
2010/04/14 Javascript
jQuery对象[0]是什么含义?
2010/07/31 Javascript
浏览器窗口加载和大小改变事件示例
2014/02/27 Javascript
javascript从image转换为base64位编码的String
2014/07/29 Javascript
Javascript实现飞动广告效果的方法
2015/05/25 Javascript
jQuery实现按钮只点击一次后就取消点击事件绑定的方法
2015/06/26 Javascript
解决JS组件bootstrap table分页实现过程中遇到的问题
2016/04/21 Javascript
微信小程序 获取微信OpenId详解及实例代码
2016/10/31 Javascript
jquery实现下拉框多选方法介绍
2017/01/03 Javascript
js下拉菜单生成器dropMenu使用方法详解
2017/08/01 Javascript
微信小程序block的使用教程
2018/04/01 Javascript
npm 下载指定版本的组件方法
2018/05/17 Javascript
layui 表格的属性的显示转换方法
2018/08/14 Javascript
Vuejs开发环境搭建及热更新【推荐】
2018/09/07 Javascript
koa源码中promise的解读
2018/11/13 Javascript
vscode下vue项目中eslint的使用方法
2019/01/13 Javascript
详解vue-cli3多页应用改造
2019/06/04 Javascript
JS实现返回上一页并刷新页面的方法分析
2019/07/16 Javascript
解决layui表格的表头不滚动的问题
2019/09/04 Javascript
Vue.js如何使用Socket.IO的示例代码
2019/09/05 Javascript
[34:44]Liquid vs TNC Supermajor 胜者组 BO3 第二场 6.4
2018/06/05 DOTA
[57:55]EG vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[05:23]DOTA2-DPC中国联赛2月1日Recap集锦
2021/03/11 DOTA
简单的python协同过滤程序实例代码
2018/01/31 Python
用python实现刷点击率的示例代码
2019/02/21 Python
Python爬虫 bilibili视频弹幕提取过程详解
2019/07/31 Python
彻底解决Python包下载慢问题
2020/11/15 Python
美国传奇滑手Paul Rodriguez创办的街头滑板品牌:Primitive Skateboarding
2019/10/29 全球购物
计算s=f(f(-1.4))的值
2014/05/06 面试题
会计专业的自荐信
2013/12/12 职场文书
心理健康教育制度
2014/01/27 职场文书
烛光里的微笑观后感
2015/06/17 职场文书