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操作excel文件 基于phpexcel
Jul 02 PHP
PHP得到mssql的存储过程的输出参数功能实现
Nov 23 PHP
关于PHP递归算法和应用方法介绍
Apr 15 PHP
PHP针对常规模板引擎中与CSS/JSON冲突的解决方法
Aug 19 PHP
关于URL最大长度限制的相关资料查证
Dec 23 PHP
修改Laravel5.3中的路由文件与路径
Aug 10 PHP
PHP弱类型的安全问题详细总结
Sep 25 PHP
Docker配置PHP开发环境教程
Dec 21 PHP
php检查函数必传参数是否存在的实例详解
Aug 28 PHP
laravel中的一些简单实用功能
Nov 03 PHP
php把文件设置为插件的技巧方法
Feb 03 PHP
PHP加MySQL消息队列深入理解
Feb 27 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
下载文件的点击数回填
2006/10/09 PHP
echo(),print(),print_r()之间的区别?
2006/11/19 PHP
PHP调试及性能分析工具Xdebug详解
2017/02/09 PHP
PHP memcache在微信公众平台的应用方法示例
2017/09/13 PHP
[转]JS宝典学习笔记
2007/02/07 Javascript
JS版网站风格切换实例代码
2008/10/06 Javascript
解析瀑布流布局:JS+绝对定位的实现
2013/05/08 Javascript
jqGrid日期格式的判断示例代码(开始日期与结束日期)
2013/11/08 Javascript
简单时间提示DEMO从0开始一直进行计时
2013/11/19 Javascript
Google (Local) Search API的简单使用介绍
2013/11/28 Javascript
JavaScript获取当前日期是星期几的方法
2015/04/06 Javascript
JavaScript将当前时间转换成UTC标准时间的方法
2015/04/06 Javascript
Bootstrap 实现查询的完美方法
2016/10/26 Javascript
JavaScript通过改变文字透明度实现的文字闪烁效果实例
2017/04/27 Javascript
Vue.js实现一个todo-list的上移下移删除功能
2017/06/26 Javascript
关于使用axios的一些心得技巧分享
2017/07/02 Javascript
JavaScript实现的斑马线表格效果【隔行变色】
2017/09/18 Javascript
详解Webstorm 新建.vue文件支持高亮vue语法和es6语法
2017/10/26 Javascript
从零开始学习搭建React脚手架项目
2018/08/23 Javascript
JavaScript实现通讯录功能
2020/12/27 Javascript
详解Vite的新体验
2021/02/22 Javascript
Python和php通信乱码问题解决方法
2014/04/15 Python
儿童python练习实例
2018/05/27 Python
python字符串常用方法
2018/06/14 Python
Jupyter Notebook添加代码自动补全功能的实现
2021/01/07 Python
你不知道的葡萄干处理法、橙蜜处理法、二氧化碳酵母法
2021/03/17 冲泡冲煮
一些PHP的面试题
2015/05/06 面试题
计算机学生求职信范文
2014/01/30 职场文书
陈欧广告词
2014/03/14 职场文书
职务聘任书范文
2014/03/29 职场文书
事业单位个人查摆问题及整改措施
2014/10/28 职场文书
体育个人工作总结
2015/02/09 职场文书
投资公司董事长岗位职责
2015/04/16 职场文书
攻击最高的10只幽灵系神奇宝贝,坚盾剑怪排第一,第五最为可怕
2022/03/18 日漫
关于windows server 2012 DC 环境 重启后蓝屏代码:0xc00002e2的问题
2022/05/25 Servers
js前端图片加载异常兜底方案
2022/06/21 Javascript