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

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

时间:2016-05-14 23:09:16      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:

通过之前的学习我们知道了index.php是一个入口文件,如果没有这个入口文件的话,我们需要自己创建!


【视图模板文件创建】

视图模板文件存放发位置在:

技术分享

里面没有模板文件

如果我们想要访问Login控制器中的Login方法,首先我们要创建一个Login控制器对应的模板文件夹,该文件夹就对应着Login控制器:

技术分享

然后在Login文件夹下再创建一个login.html的模板文件来对应Login控制器下的Login方法:

技术分享

login.html里面写入要显示的代码:

技术分享

然后再次请求:

技术分享

url地址大小写设置】

默认是不敏感的:

config.php里边对url大小写敏感进行设置

技术分享

 

【空操作和空控制器处理】

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

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

http://网址/index.php/Home/User/login

http://网址/index.php/Home/User/hello 空操作

http://网址/index.php/Home/beijing/login   空控制器

 

空操作:

技术分享

一般网站处于安全考虑不给用户提示任何错误信息

“空操作”本质意思:一个对象(控制器)调用本身不存在的方法

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

 

tp里面控制器的父类:

技术分享

父类中有个方法:

技术分享

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

① 在对应的控制器里边制作一个方法,名称为”_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内部包括控制器对象创建,以及对象调用指定的方法呈现内容:

技术分享

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

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

技术分享

技术分享

这样再次请求:

技术分享

【项目分组】

系统有前台用户操作界面

系统还有后台供公司内部人员使用维护平台

两者在使用的过程中就是对“控制器”、“视图模板”、“model模型”的操作

 

为了系统开发方便,及代码部署更加合理,我们的控制器、view视图等前后台文件不要混在起,要在物理结构上给分开

技术分享

技术分享

http://网址/index.php/Home/控制器/操作方法     访问Home控制器及制定操作

http://网址/index.php/Admin/控制器/操作方法    访问Admin分组的控制器和操作方法

 

 

Home文件夹代表前台应用

空操作实际上就是访问了原来的控制器里没有的操作,去操作调用的话,会自动调用这个方法 __call() 这个方法在父类里可以找到 

//空方法

举例:

public function _empty()
{
echo "滚犊子,别乱访问";
}

访问空控制器,相当于访问一个没有的类

thinkPHP/Librarary/Think/App.class.php ->App.class.php 框架应用文件,在这个文件里,它会自动的把控制器的对象创建出来,创建的时候调用了一个A方法,这个是tp模板提供的一个快捷方法,用来快速造对象。A(‘类名‘) 

创建控制器实例的时候,如果发现没有这个类,会自动判断是否定义了empty控制器

对空控制器的处理方法:做一个EmptyController.class.php控制器里写_empty()空方法



 

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

标签:

原文地址:http://www.cnblogs.com/supermeimei/p/5493656.html

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