zoukankan      html  css  js  c++  java
  • ThinkPHP框架之空控制器

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

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

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

     在Home文件夹下的 Conf文件夹中的 config.php 配置文件中  加入return array('SHOW_PAGE_TRACE'=>TRUE// 开启trace信息) 这样我们就可以进行调试或者查看错误了

      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"客官,此控制器不存在";
                  }
    }

       

  • 相关阅读:
    智能实验室-杀马(Defendio) 4.12.0.800
    智能实验室-结构化存储浏览器(SSExplorer) 1.7.0.170
    智能实验室-全能优化(Guardio) 4.94.0.830
    智能实验室-全能优化(Guardio) 4.9.0.790
    IT餐馆—第二十二回 控件
    当DiscuzNT遇上了Loadrunner(中)
    在Discuz!NT中进行缓存分层(本地缓存+memcached)
    介绍三个Silverlight 在线编辑器控件
    玩玩负载均衡在window与linux下配置nginx
    IT餐馆—第十八回 祭奠
  • 原文地址:https://www.cnblogs.com/xiaodouding/p/6796052.html
Copyright © 2011-2022 走看看