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中通过ADO调用Asscess数据库和COM程序
Oct 09 PHP
fleaphp常用方法分页之Pager使用方法
Apr 23 PHP
php缩放图片(根据宽高的等比例缩放)实例介绍
Jun 09 PHP
php集成动态口令认证
Jul 21 PHP
PHP大神的十大优良习惯
Sep 14 PHP
详谈php中 strtr 和 str_replace 的效率问题
May 14 PHP
php实现留言板功能(会话控制)
May 23 PHP
在TP5数据库中四个字段实现无限分类的示例
Oct 18 PHP
laravel5.6实现数值转换
Oct 23 PHP
php使用gearman进行任务分发操作实例详解
Feb 26 PHP
Swoole扩展的6种模式深入详解
Mar 04 PHP
如何使用php生成zip压缩包
Apr 21 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_Flame(Version:Progress)的原代码
2006/10/09 PHP
php另类上传图片的方法(PHP用Socket上传图片)
2013/10/30 PHP
PHP中round()函数对浮点数进行四舍五入的方法
2014/11/19 PHP
Laravel框架路由设置与使用示例
2018/06/12 PHP
addEventListener()第三个参数useCapture (Boolean)详细解析
2013/11/07 Javascript
node.js中的buffer.length方法使用说明
2014/12/14 Javascript
jQuery中index()方法用法实例
2014/12/27 Javascript
javascript创建动态表单的方法
2015/07/25 Javascript
JavaScript+Java实现HTML页面转为PDF文件保存的方法
2016/05/30 Javascript
AngularJS 遇到的小坑与技巧小结
2016/06/07 Javascript
textarea 在浏览器中固定大小和禁止拖动的实现方法
2016/12/03 Javascript
vue结合Echarts实现点击高亮效果的示例
2018/03/17 Javascript
react build 后打包发布总结
2018/08/24 Javascript
koa-router源码学习小结
2018/09/07 Javascript
VUE v-for循环中每个item节点动态绑定不同函数的实例
2018/09/26 Javascript
JavaScript ES6中的简写语法总结与使用技巧
2018/12/30 Javascript
使用React手写一个对话框或模态框的方法示例
2019/04/25 Javascript
es6函数之严格模式用法实例分析
2020/03/17 Javascript
JS实现横向跑马灯效果代码
2020/04/20 Javascript
[00:27]DOTA2战队VP、Secret贺新春
2018/02/11 DOTA
[00:32]2018DOTA2亚洲邀请赛EG出场
2018/04/03 DOTA
python 运算符 供重载参考
2009/06/11 Python
浅析Python中的多进程与多线程的使用
2015/04/07 Python
Python简单实现网页内容抓取功能示例
2018/06/07 Python
Pycharm设置去除显示的波浪线方法
2018/10/28 Python
Pycharm无法显示动态图片的解决方法
2018/10/28 Python
python实现趣味图片字符化
2019/04/30 Python
详解Python是如何实现issubclass的
2019/07/24 Python
阿里云ECS服务器部署django的方法
2019/08/29 Python
Python中的引用和拷贝实例解析
2019/11/14 Python
CSS3教程:background-clip和background-origin
2008/10/17 HTML / CSS
html5 canvas 使用示例
2010/10/22 HTML / CSS
英国家用电器折扣网站:Electrical Discount UK
2018/09/17 全球购物
新书吧创业计划书
2014/01/31 职场文书
优秀班组长事迹
2014/05/31 职场文书
2014年车间主任工作总结
2014/12/10 职场文书