脚本巴巴 www.jiaoben88.com

ThinkPHP框架之空控制器详解

发布时间:2017-05-02 21:01:48编辑:脚本巴巴

HOME代表的是模块 前台可以用Home 后台用Admin Model View Controller 统称为MVC

Model 是数据模型 主要是和数据库打交道的 View代表显示的模 Controller 控制器

MVC模式 都遵循“约定胜于配置” 必须要遵循规则

ThinkPHP 中的common文件夹是TP框架自带的一些函数 conf文件夹下的convertion.php 含有TP所有的配置 尽量不要修改 Lang 语言包 Library 存放的都是核心类文件,其中的think文件夹里面含有很多的类文件 里面的controller.class.php 是所有控制器的父类

现在我在Home文件夹下的conf文件夹的config 文件中建了一个MainController.class.php文件 这其中有个test的方法,而这个test想要展示的是一个模板,那么我就要到view文件夹下建一个文件夹是和MainController是对应的 这个文件夹应该命名为Main,(我在Main文件夹下建了一个名为test.html的模板,那么我在MainController.class.php中调用的时候之间用 this−>display()//this->show() 就可以了),同样的如果是IndexController.class.php 那么view文件夹下要建一个名为Index的文件夹

如果我要访问控制器MainController.class.php下的一个方法tess 而这个方法不存在,那么就会出现这种情况,如图所示

这样我们的所使用的框架及版本等等都会泄露,这样是非常不友好的

这时我们就要想办法把这些隐藏起来, 在MainController.class.php中做一个方法 名为_empty
 

funtion _empty()
{
       echo"客官,您访问的方法不正确"; //这里也可以插入视图
}

如果我们访问的是一个不存在的控制器,那么也会泄露我们的信息 这样我们需要在文件夹Controller中建一个名为EmptyController的控制器
 

<?php

namespace Home/Controller;

use Think/Controller;

class EmptyController extends Controller
{
      function _empty() //如果顾客访问的是一个空的控制器,那么里面的方法必然也是空的
              {
                   echo"客官,此控制器不存在";
              }
}
上一篇:使用ThinkPHP实现生成缩略图及显示
下一篇:thinkphp验证码的使用小结

相关文章