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实现jQuery扩展函数
Oct 30 PHP
PHP MVC模式在网站架构中的实现分析
Mar 04 PHP
PHP中的替代语法简介
Aug 22 PHP
Thinkphp将二维数组变为标签适用的一维数组方法总结
Oct 30 PHP
浅谈PHP eval()函数定义和用法
Jun 21 PHP
php英文单词统计器
Jun 23 PHP
php使用函数pathinfo()、parse_url()和basename()解析URL
Nov 25 PHP
EarthLiveSharp中cloudinary的CDN图片缓存自动清理python脚本
Apr 04 PHP
PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法
Aug 11 PHP
php连接MSsql server的五种方法总结
Mar 04 PHP
PHP后期静态绑定实例浅析
Dec 21 PHP
PHP对接阿里云虚拟号的实现(号码隐私保护)
Apr 06 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中unset,array_splice删除数组中元素的区别
2014/07/28 PHP
PHP操作MySQL的mysql_fetch_* 函数的常见用法教程
2015/12/25 PHP
YiiFramework入门知识点总结(图文教程)
2015/12/28 PHP
PHP5.5迭代生成器用法实例详解
2016/03/16 PHP
PHP Ajax跨域问题解决方案代码实例
2020/08/01 PHP
屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键 的javascript代码
2007/04/01 Javascript
基于jquery的气泡提示效果
2010/05/31 Javascript
基于jquery的finkyUI插件与Ajax实现页面数据加载功能
2010/12/03 Javascript
JavaScript使用focus()设置焦点失败的解决方法
2014/09/03 Javascript
Boostrap实现的登录界面实例代码
2016/10/09 Javascript
利用js的闭包原理做对象封装及调用方法
2017/04/07 Javascript
Vue.js教程之axios与网络传输的学习实践
2017/04/29 Javascript
基于easyui checkbox 的一些操作处理方法
2017/07/10 Javascript
解决vue router使用 history 模式刷新后404问题
2017/07/19 Javascript
详解如何用webpack4从零开始构建react开发环境
2019/01/27 Javascript
Javascript 类型转换、封闭函数及常见内置对象操作示例
2019/11/15 Javascript
vue props default Array或是Object的正确写法说明
2020/07/30 Javascript
JavaScript实现简单验证码
2020/08/24 Javascript
[02:12]探秘2016国际邀请赛中国区预选赛选手房间
2016/06/25 DOTA
[05:31]DOTA2上海特级锦标赛主赛事第三日RECAP
2016/03/05 DOTA
Python的Flask框架中web表单的教程
2015/04/20 Python
Python编程django实现同一个ip十分钟内只能注册一次
2017/11/03 Python
python使用正则表达式来获取文件名的前缀方法
2018/10/21 Python
利用pyuic5将ui文件转换为py文件的方法
2019/06/19 Python
Python离线安装各种库及pip的方法
2020/11/28 Python
Python文件操作的面试题
2013/06/22 面试题
学生励志演讲稿
2014/01/06 职场文书
大学生实习鉴定评语
2014/04/25 职场文书
授权收款委托书范本
2014/10/10 职场文书
高三复习计划
2015/01/19 职场文书
2016教师年度考核评语大全
2015/12/01 职场文书
2016秋季幼儿园开学寄语
2015/12/03 职场文书
看看如何用Python绘制小米新版天价logo
2021/04/20 Python
Python机器学习之PCA降维算法详解
2021/05/19 Python
HTML基础详解(上)
2021/10/16 HTML / CSS
HTML页面点击按钮关闭页面的多种方式
2022/12/24 HTML / CSS