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 相关文章推荐
文件上传的实现
Oct 09 PHP
用PHP的超级变量$_POST获取HTML表单(HTML Form) 数据
May 07 PHP
PHP中usort在值相同时改变原始位置问题的解决方法
Nov 27 PHP
修改apache配置文件去除thinkphp url中的index.php
Jan 17 PHP
PHP间隔一段时间执行代码的方法
Dec 02 PHP
php中switch与ifelse的效率区别及适用情况分析
Feb 12 PHP
PHP代码维护,重构变困难的4种原因分析
Jan 25 PHP
PHP的几个常用加密函数
Feb 03 PHP
PHP实现根据时间戳获取周几的方法
Feb 26 PHP
Laravel路由设定和子路由设定实例分析
Mar 30 PHP
ThinkPHP实现静态缓存和动态缓存示例代码
May 02 PHP
php把字符串指定字符分割成数组的方法
Mar 12 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/03 日漫
盘点PHP和ASP.NET的10大对比!
2015/12/24 PHP
PHP 7.1新特性的汇总介绍
2016/12/16 PHP
laravel 5.3 单用户登录简单实现方法
2019/10/14 PHP
jquery maxlength使用说明
2011/09/09 Javascript
jquery定时滑出可最小化的底部提示层特效代码
2013/10/02 Javascript
js实现数组去重、判断数组以及对象中的内容是否相同
2013/11/29 Javascript
jquery中的查找parents与closest方法之间的区别
2013/12/02 Javascript
javascript操作excel生成报表全攻略
2014/05/04 Javascript
IE 下Enter提交表单存在重复提交问题的解决方法
2014/05/04 Javascript
JavaScript异步回调的Promise模式封装实例
2014/06/07 Javascript
利用AJAX实现WordPress中的文章列表及评论的分页功能
2016/05/17 Javascript
javascript的函数劫持浅析
2016/09/26 Javascript
jQuery加载及解析XML文件的方法实例分析
2017/01/22 Javascript
jQuery的三种bind/One/Live/On事件绑定使用方法
2017/02/23 Javascript
jQuery的$.extend 浅拷贝与深拷贝
2017/03/08 Javascript
JavaScript面向对象精要(上部)
2017/09/12 Javascript
ES6学习笔记之map、set与数组、对象的对比
2018/03/01 Javascript
jQuery动态移除与增加onclick属性的方法详解
2018/06/07 jQuery
vue devtools的安装与使用教程
2018/08/08 Javascript
Vue 请求传公共参数的操作
2020/07/31 Javascript
pymssql ntext字段调用问题解决方法
2008/12/17 Python
解析Python3中的Import
2019/10/13 Python
如何在Python对Excel进行读取
2020/06/04 Python
python读取xml文件方法解析
2020/08/04 Python
python读写数据读写csv文件(pandas用法)
2020/12/14 Python
python 对xml解析的示例
2021/02/27 Python
浅谈HTML5 FileReader分布读取文件以及其方法简介
2017/11/09 HTML / CSS
英国一家专门出售品牌鞋子的网站:Allsole
2016/08/07 全球购物
GANT英国官方网上商店:甘特衬衫
2018/02/06 全球购物
Brasty罗马尼亚:购买手表、香水、化妆品、珠宝
2020/04/21 全球购物
20年同学聚会邀请函
2014/02/04 职场文书
中等生评语大全
2014/05/04 职场文书
学雷锋献爱心活动总结
2015/05/11 职场文书
幼儿园师德师风心得体会
2016/01/12 职场文书
CSS3实现列表无限滚动/轮播效果
2021/06/23 HTML / CSS