TP框架 ---空控制器和空操作

原文 http://www.cnblogs.com/hanqishihu/p/5717036.html

空操作:没有指定的操作方法

空控制器:没有指定控制器

空操作:

一般网站处于安全考虑不给用户提示任何错误信息,空控制器:(为了防止对我们的网站进行攻击,看不出用什么做的网站)

“空操作”本质意思:一个对象(控制器)调用本身不存在的方法(空操作就是访问了原来的控制器里没有的操作)

在OOP里边,对象调用本身不存在方法,处于用户体验比较好的角度考虑,我们可以在类里边制作一个魔术方法:function __call();

在tp里面控制器的父类:

父类中有个方法:__call()

所以空操作有两种解决方案:

① 在对应的控制器里边制作一个方法,名称为”_empty”,这个控制器的空操作都会自动执行该方法。(推荐使用)

② 给空操作的名称制作一个同名的模板出来,系统会自动调用

空控制器:(等于访问了一个没有的类)

空控制器:在实例化控制器对象的时候,没有找到指定的类

什么时候实例化控制器对象:ThinkPHP/Library/Think/App.class.php

熟记文件:

index.php  入口文件

ThinkPHP/ThinkPHP.php  框架核心文件

ThinkPHP/Library/Think/Think.class.php  框架核心文件

ThinkPHP/Library/Think/App.class.php  框架应用文件

在App.class.php内部包括控制器对象创建,以及对象调用指定的方法呈现内容:

A()方法是个快捷的方法 用来造对象的

空控制器处理方案:可以再制作一个控制器,名称EmptyController.class.php

在该控制器内部其实只需要制作一个_empty()方法即可。

这样再次请求:

时间: 2024-08-10 17:17:54

TP框架 ---空控制器和空操作的相关文章

TP框架基础 (二) ---空控制器和空操作

通过之前的学习我们知道了index.php是一个入口文件,如果没有这个入口文件的话,我们需要自己创建! [视图模板文件创建] 视图模板文件存放发位置在: 里面没有模板文件 如果我们想要访问Login控制器中的Login方法,首先我们要创建一个Login控制器对应的模板文件夹,该文件夹就对应着Login控制器: 然后在Login文件夹下再创建一个login.html的模板文件来对应Login控制器下的Login方法: 在login.html里面写入要显示的代码: 然后再次请求: [url地址大小写

thinkphp的空控制器和空操作以及对应解决方法

在上篇随笔中我们已经知道了tp框架的四种访问方式,那么当在地址栏输入不存在的操作方法.控制器会怎么样呢? 先看一下定义: 空操作:一个对象(控制器)调用本身不存在的方法 空控制器:在实例化控制器对象的时候,没有找到指定的类 首先,在Application文件下新建Ceshi模块,并在Ceshi模块下按照Home模块建立相同的文件夹,如下图: 1)在Controller文件夹下新建Login控制器: <?php namespace Ceshi\Controller; use Think\Contr

6月14 空控制器和空操作及命名空间

空操作和空控制器处理 空操作:就没有指定的操作方法 空控制器:没有指定控制器 1.空操作:(Admin是不存在的) 一般网站处于安全考虑不给用户提示任何错误信息 “空操作”本质意思:一个对象(控制器)调用本身不存在的方法 在OOP里边,对象调用本身不存在方法,处于用户体验比较好的角度考虑,我们可以在类里边制作一个魔术方法:function __call(); 在tp里面控制器的父类: 父类中有个方法: 所以空操作有两种解决方案: ①     在对应的控制器里边制作一个方法,名称为”_empty”

第一零三天上课 PHP TP框架下控制器的方法分离

(1)配置信息 修改配置文件->Config.php (配置后,原先的控制方法无效) 'ACTION_BIND_CLASS' => TRUE, // 控制器方法分离 (2)在Controller文件夹下创建   和控制器类名  相同  的文件夹    (该文件夹即代替原来的控制器) (3)在新建的文件夹下书写方法类(该类即代替原来的控制器下的方法) <?php namespace Home\Controller\Index; //命名空间具体到类名(代替类的文件夹) use Think\

TP框架 多级控制器,多层控制器

多级控制器 多级控制器是指控制器可以通过子目录把某个控制器层分组存放,首先需要设置控制器的分级层次,例如,我们设置2级目录的控制器层: 'CONTROLLER_LEVEL' => 2, 控制器文件的位置放置如下: ├─Controller 访问控制器 │ ├─User User分级(组) │ │ ├─UserTypeController.class.php │ │ ├─UserAuthController.class.php │ ... │ ├─Admin Admin分级(组) │ │ ├─Us

tp框架基础控制器调用方法

public function indd(){ //调用该控制器下的某个方法 $this ->index(); //跨控制器调用 $k = A("index");// 创建控制器对象 $k -> index(); //跨模块调用 $k = A("home/index"); $k -> index(); }

TP框架 base控制器进行redirect跳转

public function redirect(...$argc){ throw new HttpResponseException(redirect(...$argc)); } 原文地址:https://www.cnblogs.com/aln0825/p/12676452.html

TP框架 控制器的空操作

控制器的空操作 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 理论逻辑解决: (访问哪个不存在的,就建哪个解决的空方法)->访问控制器不存在,建空控制器方法;->访问方法不存在,建空方法; 建空控制器或者空方法的原因:父类控制器中存在 对应空操作的方法;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^1.当访问的方法

空控制器的书写方式

*在开发过程中,在每个Controller文件夹里面都要设置一个空控制器,用以保护本地信息不被泄露(EmptyController.class.php),此方式可有效空控制器或空方法的错误提示信息 *可在每个自定义控制器里面写入一个空方法(只限访问时输入的空方法,若用户输入空的控制器,还需写一个EmptyController来防止信息泄露) *建一个空的控制器 *建一个像对应的模板 1.制作一个空控制器,最后指向输出一个模板(empty.html) 2.在自定义模板里,添加一个空方法 3.定义一