ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解


Posted in PHP onApril 03, 2019

本文实例讲述了ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面。分享给大家供大家参考,具体如下:

【演示准备】

    首先下载了一个ThinkPHP3.2.3,目录结构如下:(只有Home模块、Index控制器、index操作方法)

ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解

    然后找了一个简易的错误404页面404.html放到了根目录:

ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解

【空模块】

访问一个不存在的模块Admin,错误提示:

ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解

 修改根目录下 ThinkPHP/Library/Think/Dispatcher.class.php 178行代码:

// E(L('_MODULE_NOT_EXIST_').':'.MODULE_NAME);
header("Location: /404.html");
exit();
再次访问空模块:

ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解

【空控制器】

访问Home模块不存在的控制器User,错误提示:

ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解

查看根目录下 ThinkPHP/Library/Think/App.class.php 101行前后代码:

ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解

通常的处理方法是:在当前模块下新建一个Empty控制器,在里面做404跳转(A方法实例化Empty控制器)。

EmptyController.class.php:

<?php
namespace Home\Controller;
use Think\Controller;
class EmptyController extends Controller {
  public function index() {
    header("Location:/404.html");
    exit();
  }
}

再次访问空控制器:

ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解

 【空操作】

访问Home模块下Index控制器不存在的test操作方法,错误提示:

 ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解

查看根目录下 ThinkPHP/Library/Think/Controller.class.php 170行前后代码: 

ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解

通常的处理方法是:在当前模块下新建一个Public控制器(继承Controller),在里面定义_empty方法跳转404页面, 然后其他控制器再继承Public。

PublicController.class.php:

<?php
namespace Home\Controller;
use Think\Controller;
class PublicController extends Controller {
  public function _empty() {
    header("Location:/404.html");
    exit();
  }
}

Index控制器继承Puclic:

ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解

再次访问空操作方法: 

ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
使用Limit参数优化MySQL查询的方法
Nov 12 PHP
PHP 获取MSN好友列表的代码(2009-05-14测试通过)
Sep 09 PHP
PHP 采集程序中常用的函数
Dec 09 PHP
PHP获取栏目的所有子级和孙级栏目的ID号示例
Apr 01 PHP
php发送与接收流文件的方法
Feb 11 PHP
php通过递归方式复制目录和子目录的方法
Mar 13 PHP
Cygwin中安装PHP方法步骤
Jul 04 PHP
PHP 生成微信红包代码简单
Mar 25 PHP
php 数组字符串搜索array_search技巧
Jul 05 PHP
Yii2.0多文件上传实例说明
Jul 24 PHP
php实现的顺序线性表示例
May 04 PHP
php 使用 __call实现重载功能示例
Nov 18 PHP
PHP反射实际应用示例
Apr 03 #PHP
ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例
Apr 03 #PHP
从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记图文详解
Apr 03 #PHP
PHP快速排序算法实现的原理及代码详解
Apr 03 #PHP
Laravel5.7框架安装与使用学习笔记图文详解
Apr 02 #PHP
Laravel访问出错提示:`Warning: require(/vendor/autoload.php): failed to open stream: No such file or di解决方法
Apr 02 #PHP
Laravel框架运行出错提示RuntimeException No application encryption key has been specified.解决方法
Apr 02 #PHP
You might like
PHP开发入门教程之面向对象
2006/12/05 PHP
php单态设计模式(单例模式)实例
2014/11/18 PHP
smarty简单入门实例
2014/11/28 PHP
PHP函数checkdnsrr用法详解(Windows平台用法)
2016/03/21 PHP
PHP文件上传、客户端和服务器端加限制、抓取错误信息、完整步骤解析
2017/01/12 PHP
xtree.js 代码
2007/03/13 Javascript
动态加载js和css(外部文件)
2013/04/17 Javascript
解析javascript 数组以及json元素的添加删除
2013/06/26 Javascript
js判断为空Null与字符串为空简写方法
2014/02/24 Javascript
javascript获取浏览器类型和版本的方法(js获取浏览器版本)
2014/03/13 Javascript
javascript实现动态模态绑定grid过程代码
2014/09/22 Javascript
nodejs实现遍历文件夹并统计文件大小
2015/05/28 NodeJs
js仿黑客帝国字母掉落效果代码分享
2020/11/08 Javascript
JS禁用页面上所有控件的实现方法(附demo源码下载)
2015/12/17 Javascript
Bootstrap学习系列之使用 Bootstrap Typeahead 组件实现百度下拉效果
2016/07/07 Javascript
JavaScript性能优化总结之加载与执行
2016/08/11 Javascript
JavaScript制作颜色反转小游戏
2016/09/25 Javascript
JS 实现可停顿的垂直滚动实例代码
2016/11/23 Javascript
使用grunt合并压缩js和css文件的方法
2017/03/02 Javascript
javascript性能优化之分时函数的介绍
2018/03/28 Javascript
angular中子控制器向父控制器传值的实例
2018/10/08 Javascript
小程序扫描普通链接二维码跳转小程序指定界面方法
2019/05/07 Javascript
layui表单提交到后台自动封装到实体类的方法
2019/09/12 Javascript
javascript实现动态时钟的启动和停止
2020/07/29 Javascript
Python中使用partial改变方法默认参数实例
2015/04/28 Python
PyChar学习教程之自定义文件与代码模板详解
2017/07/17 Python
Python AES加密实例解析
2018/01/18 Python
Python整数对象实现原理详解
2019/07/01 Python
Python计算一个点到所有点的欧式距离实现方法
2019/07/04 Python
python tkinter之顶层菜单、弹出菜单实例
2020/03/04 Python
美国体育用品商店:Rally House(NCAA、NFL、MLB、NBA、NHL和MLS)
2018/01/03 全球购物
FC-Moto西班牙:摩托车手最大的购物场所之一
2019/04/11 全球购物
CAD制图设计师自荐信
2014/01/29 职场文书
科级干部群众路线教育实践活动对照检查材料思想汇报
2014/09/20 职场文书
优秀学生干部事迹材料
2014/12/24 职场文书
爱心捐款感谢信
2015/01/20 职场文书