TP框架部分---空控制器
<?php
namespace Admin\Controller;
use Think\Controller;
class DengLuController extends Controller
{
public function test()
{
//echo "这是测试的"
$this->assign("a","world");
$this->show();
}
} //这里面只有test方法,如果访问空的方法时,例如在浏览器输入localhost/thinkphp/index.php/Admin/DengLu/denglu时,页面中没有denglu方法。访问没有的方法会出现下面页面。

出来的页面中提示了“非法操作:denglu”,下面还提示了错误位置以及其它一些信息。但是把网站放到服务器上以后,如果出现这种提示的话会有下面2个缺点:
(1)这种提示信息太专业,用户在看到这种提示信息时会看不明白这种错误出现的原因;
(2)出现这种提示信息不安全,如果访客比较专业的话看到这些提示信息后就可以获取到很多信息,就知道是用thinkphp框架做的网站,看到错误位置以后网站的目录结构也能获取的到;
解决问题的方法如下:
<?php
namespace Admin\Controller;
use Think\Controller;
class DengLuController extends Controller
{
public function test()
{
//echo "这是测试的"
$this->assign("a","world");
$this->show();
}
public function _empty()//加一个魔术方法,在有访问不存在的方法时执行,这里只是暂时的写这么一句话,访问没有的方法时会弹出“您输入的地址不对”.真正的写时需要加载一个页面进去,显示出想让访客看到的提示信息。
{
echo "您输入的地址不对";
}
}
上面是针对空方法的处理,如果出现空控制器,将出现下列错误,错误的缺点和空方法的一样。解决空控制器的方法和空方法一样,也是写一个控制器方法,当遇到空控制器时就执行这个方法。

新建一个控制器,命名如下:

控制器的内容如下:
<?php
namespace Admin\Controller;
use Think\Controller;
class EmptyController extends Controller
{
public function _empty()//遇到访问空的控制器时输出这句话
{
echo "您访问的控制器不存在";
}
}
TP框架部分---空控制器的更多相关文章
- tp框架之空方法与空控制器
对于空方法的两种方法: 1.建立一个empty模板(不建议,除非打算指定静态页面) 2.在控制器里面加一个empty方法 public function _empty() { echo "控 ...
- 基于TP框架的ThinkCMF,控制器display方法源码分析
昨天在写代码的时候,看见写了无数次的模版渲染方法:$this->display(),突然很想弄清楚它是如何实现的. 今天不忙,就分析了一下. class TestController exten ...
- Tp框架 之对控制器的一些操作等
在浏览器中输入tp框架入口文件的地址,如图 要注意,localhost/后面跟的是www的下一级,tp文件的上一级,因为我直接把tp文件做成了www目录的下一级,所以我写的地址localhost后面跟 ...
- ThinkPHP框架之空控制器
HOME代表的是模块 前台可以用Home 后台用Admin Model View Controller 统称为MVC Model 是数据模型 主要是和数据库打交道的 View代表显 ...
- TP框架 ---空控制器和空操作
通过之前的学习我们知道了index.php是一个入口文件,如果没有这个入口文件的话,我们需要自己创建! [视图模板文件创建] 视图模板文件存放发位置在: 里面没有模板文件 如果我们想要访问Login控 ...
- TP框架控制器的空操作
在浏览器中输入tp框架入口文件的地址,如图 要注意,localhost/后面跟的是www的下一级,tp文件的上一级,因为我直接把tp文件做成了www目录的下一级,所以我写的地址localhost后面跟 ...
- TP框架基础 (二) ---空控制器和空操作
通过之前的学习我们知道了index.php是一个入口文件,如果没有这个入口文件的话,我们需要自己创建! [视图模板文件创建] 视图模板文件存放发位置在: 里面没有模板文件 如果我们想要访问Login控 ...
- tp空操作和空控制器处理
TP框架几个重要文件:index.php,ThinkPHP.php,Library/Think/Think.class.php,Library/Think/App.class.php,conversi ...
- TP3.2框架,实现空模块、空控制器、空操作的页面404替换||同步实现apache报错404页面替换
一,前言 一.1)以下代码是在TP3.0版本之后,URL的默认模式=>PATHINFO的前提下进行的.(通俗点,URL中index.php必须存在且正确) 代码和讲解如下: 1.空模块解决:ht ...
随机推荐
- postgresql 10 数据类型 (完整版)
官方数据类型document https://www.postgresql.org/docs/10/static/datatype.html PostgreSQL拥有丰富的数据类型供用户使用.用户也可 ...
- c语言命令行参数
int main(int argc, char * argv[]) { ..... } argc: 代表启动程序时,命令行参数的个数.C和C++语言规定,可执行程序程序本身的文件名,也算是一个命令行参 ...
- php基础 gd图像生成、缩放、logo水印和验证码
gd库是php最常用的图片处理库之一(另外一个是imagemagick),可以生成图片.验证码.水印.缩略图等等. 图像生成 <?php /* 用windows画图板画图 1.新建空白画布(指定 ...
- 牛客网 牛客小白月赛2 D.虚虚实实-无向图判欧拉路径
D.虚虚实实 链接:https://www.nowcoder.com/acm/contest/86/D 这个题是无向图判欧拉路径,首先要判是否连通,然后再判欧拉路径就可以,板子题. 板子来源: ...
- HDU 1021 Fibonacci Again【打表找规律】
Fibonacci Again Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ...
- POJ 2484 A Funny Game [博弈]
题意:n枚硬币围成一个圈,每次每个人可以从中取走一枚或者相邻的两枚(如果两枚硬币原本中间隔着一枚硬币,后来被取走,这两枚硬币不算相邻).谁取走最后一枚硬币谁就赢了. 思路:我们可以找找规律. 首先,n ...
- hosts不支持泛解析
hosts不支持泛解析,只能是一个域名对应一个IP. 如果想要实现只能用一些第三方的DNS软件做解析.
- mysql之创建数据库,创建数据表
写在前面 项目中用到mysql数据库,之前也没用过mysql,今天就学下mysql的常用的语法,发现跟sql server的语法极其相似.用起来还是蛮简单的. 一个例子 1.创建一个名为School的 ...
- Android与javaScript的交互
WebView与js的交互包含两方面,一是在html中通过js调用java代码:二是在安卓java代码中调用js. 一.html中通过js调用java代码 js中调用java代码其实就记住一点,Web ...
- python 浮点数保留小数
http://www.cnblogs.com/Raymon-Geng/p/5784290.html 这里有三种方法, round(a,2) '%.2f' % a Decimal('5.000').qu ...