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

ThinkPHP框架之空控制器的更多相关文章

  1. TP框架部分---空控制器

    <?php namespace Admin\Controller; use Think\Controller; class DengLuController extends Controller ...

  2. 一次thinkphp框架 success跳转卡顿问题的解决

    近期工作中遇到了一个奇怪的现象:thinkphp框架中一个控制器中执行success或者error跳转的时候,会卡10s甚至更久,而在其他控制器中测试却不会.于是开始着手调试,利用自定义的毫秒函数测试 ...

  3. 2016/5/6 thinkphp ①框架 ② 框架项目部署 ③MVC模式 ④控制器访问及路由解析 ⑤开发和生产模式 ⑥控制器和对应方法创建 ⑦视图模板文件创建 ⑧url地址大小写设置 ⑨空操作空控制器 ⑩项目分组

    真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格不一样) 项目稳 ...

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

    通过之前的学习我们知道了index.php是一个入口文件,如果没有这个入口文件的话,我们需要自己创建! [视图模板文件创建] 视图模板文件存放发位置在: 里面没有模板文件 如果我们想要访问Login控 ...

  5. ThinkPHP中的跨控制器调用与框架执行流程

    一.跨控制器调用 UserController.class.php <?php namespace Home/Controller use Think/Controller class User ...

  6. thinkphp空控制器的处理

    <?php namespace Admin\Controller; use Think\Controller; class DengLuController extends Controller ...

  7. Thinkphp 空操作、空控制器、命名空间

    1.空操作 空操作是指系统在找不到请求的操作方法的时候,会定位到空操作(_empty)方法来执行,利用这个机制,我们可以实现错误页面和一些URL的优化. http://网址/index.php/Hom ...

  8. thinkphp的空控制器和空操作以及对应解决方法

    在上篇随笔中我们已经知道了tp框架的四种访问方式,那么当在地址栏输入不存在的操作方法.控制器会怎么样呢? 先看一下定义: 空操作:一个对象(控制器)调用本身不存在的方法 空控制器:在实例化控制器对象的 ...

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

    通过之前的学习我们知道了index.php是一个入口文件,如果没有这个入口文件的话,我们需要自己创建! [视图模板文件创建] 视图模板文件存放发位置在: 里面没有模板文件 如果我们想要访问Login控 ...

随机推荐

  1. adt的问题An internal error has occurred. After scene creation, #init() must be called

    这个问题困扰了我好久,我也尝试去百度.google无济于事啊,让我寝食难安,太难受了,我把它贴出来,希望后人不绕弯子... 解决办法: 即可,解决这一个问题,现在酣畅淋漓,挥洒自如的capy代码了

  2. iOS网络编程笔记——Socket底层实现笔记

    Socket简单底层实现笔记: 以Socket客户端编程为例: 1.导入头文件 #import <arpa/inet.h> #import <netinet/in.h> #im ...

  3. WebService从服务端到客户端的用例

    1.首先编写Wsdl(基于契约优先的方式),要注意的是命名空间(若是使用include或import)最好使用一致的,代码如下: <?xml version="1.0" en ...

  4. 转载 webstrom识别 React语法

    对于程序员而言:驼峰和下划线之间是一场宗派战争:大括号是否换行会成为一种党派:逗号写在行尾还是行首的人来自不同星球-- 然而,无规矩不成方圆,任何一个团队,要想有高质量的产出,第一步必须要对一些基本的 ...

  5. Android Doze模式启用和恢复

    从Android 6.0(API level 23)开始,Android提出了两个延长电池使用时间的省电特性给用户.用户管理可以在没有充电的情况下管理app的行为.当用户一段时间没有使用手机的时候,D ...

  6. artemplate使用

    最近写了一个菜谱展示的网页,其中用到了artemplate模板,关于artemplate的好处就不多说了,直接上干货 1. <script src="js/template-nativ ...

  7. IOS开发创建开发证书及发布App应用(五)——编译应用

    5.编译应用 最近升级ios7,一直没有时间写,终于搞完了,完成之前没有完成的工作 由于适配ios7,所以Xcode也升级到5了,所以下面截图基本在Xcode5上,以前的版本基本也差不多的 打开项目的 ...

  8. Nginx编译参数

    configure arguments: --with-cc-opt='-g -O2 -fPIE -fstack-protector //设置额外的参数将被添加到CFLAGS变量.(FreeBSD或者 ...

  9. [SinGuLaRiTy] 数论基础

    [SinGuLaRiTy-1004] Copyright (c) SinGuLaRiTy 2017 . All Rights Reserved. 整除: 设a,b为整数,且a不为0,如果存在一个整数q ...

  10. 【转】JS判断SWF,JPG加载完毕、兼容(Activex,plugIn)所有浏览器

    JS判断SWF,JPG加载完毕.兼容(Activex,plugIn)所有浏览器 这里主要说下监听SWF的加载. 网上流传已久的监听方法,只能在IE(Activex插件下)下实现.在使用plugin的浏 ...