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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()方法即可。

技术分享

技术分享

这样再次请求:

技术分享

 

以上是关于TP框架 ---空控制器和空操作的主要内容,如果未能解决你的问题,请参考以下文章

PHP.51-TP框架商城应用实例-前台3-楼层推荐TP框架雪崩问题

tp框架总体学习总结(一)

laravel 和 tp区别

tp和yii2 框架的区别:

TP框架

TP框架的目录结构