码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-08-27 12:46:00      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:自动   模板   攻击   没有   系统   cal   think   oop   错误   

原文 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()方法即可。

技术分享

技术分享

这样再次请求:

技术分享

 

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

标签:自动   模板   攻击   没有   系统   cal   think   oop   错误   

原文地址:http://www.cnblogs.com/liuzhaobo1999/p/7440014.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!