在浏览器中输入tp框架入口文件的地址,如图

要注意,localhost/后面跟的是www的下一级,tp文件的上一级,因为我直接把tp文件做成了www目录的下一级,所以我写的地址localhost后面跟的就是tp

打上目录后回车,就会出来tp的主页面,如图

再随便打上一个没有的操作方法,如

打出的这个页面,暴露了很多信息,不太安全,所以我们要控制住,。

像这种操作本来没有的,叫做空操作

要改变这种,我们可以提供一种方法

从这个目录下找

可以在这个文件中查找双下划线打头的call方法

在这个位置搜到了call方法

当我们进行空操作的时候,它会走这个方法里面的else

我们要解决空操作,有两种方法,要么让它走上面的if,要么走上面的elseif

先来看elseif

我们可以给这种方法做一个模板

像这个test,没有的话,我们就要做一个test模板

在这个路径下新建一个test.html

在test文件里面就可以写html代码了

保存后刷新一下浏览器

这样就能输出一句话了

可能控制住空操作,但这种方式不好

如果用户不写test了,写个别的,依然还是不行

只有在输入test才可以

所以这种方式是不太现实的

那我们再来看另一种方式

这个需要我们在自己的控制器里再加一个方法

控制器的目录在上篇博客中有

保存后刷新一下页面

再随便输一个

再改一个

加上这个方法之后,用户输入任何不存在的,都会输出这句话

这样就把空操作给控制住了

到时候做网页的时候,可以把这个页面做的好看一点

除了这个操作方法之外,还有一个

有可能控制器也会写错

下面我们就来做一下怎么控制空控制器

在控制器这里新建一个文件

里面写上内容

然后运行一下

再重新随便改个控制器

这样就把空控制器给控制好了

来总结一下这两种情况

空操作的话,就在控制器里面加_empty方法

空控制器的话,就在controller里面新建一个控制器,控制器里面,一样要写_empty方法

如果在控制器里要访问其他方法

在控制器里先写两个方法

怎么样在test里面访问ceshi方法

在test里面写这样一句代码

刷新一下页面,试试能不能调出来

运行成功

再来看一下跨控制器怎么来调用

新建一个控制器

在里面添加内容,然后输出一句话

还是用Login控制器的内容,test调用mtest的内容

然后运行一下页面,看看能不能调取成功

运行成功

跨控制器访问,我们可以通过A方法,造Main控制器,然后直接调用它里面的内容就可以了

除了这种方式,还有一种方式

造一个新的Main控制器,然后调用里面的内容,运行一下

运行成功

所以跨控制器访问有两种方式

一种是new 一个控制器,另一种是用A方法

再来看一下跨模块控制器访问能不能行

找到Shop目录下的另一个模块

然后在Home里面新建一个控制器

然后在里面输上内容

下面再来写Login控制器的内容,还是让test页面来显示

还是使用A方法,多加了一个Home模块,这里的斜杠,用的是路径的斜杠

来运行一下看看行不行

运行成功,说明跨模块访问,也可以用A方法,在跨控制器的基础上多加一个模块名就可以,如果加模块名的话就是该模块下的控制器,如果不加模块名的话,就是当前模块的控制器

当然跨模块访问也可以使用new,来看一下怎么写

这个使用的是命名空间的知识下一篇博客里会讲

来运行一下看看行不行

运行成功

反斜杠的意思就是初始命名空间的意思

除了这两种方法还有一种

R方法

这样写就可以把Main控制器下的mtest调出来了

如果要调别的模块的话,可以这样写

运行一下

运行成功

A方法是造对象

R方法是调用方法

转载于:https://www.cnblogs.com/shenzikun1314/p/6811340.html

TP框架控制器的空操作相关推荐

  1. 6月14 空控制器和空操作及命名空间

    空操作和空控制器处理 空操作:就没有指定的操作方法 空控制器:没有指定控制器 1.空操作:(Admin是不存在的) 一般网站处于安全考虑不给用户提示任何错误信息 "空操作"本质意思 ...

  2. php调用其它控制器,TP框架控制器里面怎么调用另一个控制器的代码

    我网站TP框架,一个前台D:\WWW\User\Home\Controller\CommonController.class文件,一个后台D:\WWW\snadmin\Home\ControllerC ...

  3. 11月25日:tp框架中的架构,配置,路由,控制器

    tp框架的主要内容 架构: https://static.kancloud.cn/manual/thinkphp5/118010 配置: 配置文件主要位置 可以使用Config::load()调用th ...

  4. laravel mysql 视图_Laravel框架控制器,视图及模型操作图文详解

    本文实例讲述了Laravel框架控制器,视图及模型操作.分享给大家供大家参考,具体如下: 鉴于上一篇Laravel框架下载,安装及路由操作我们讲到了路由,可能大家会觉得路由这个东西无所不,可路由这个东 ...

  5. tp框架中的一些疑点知识-5

    关于vim中的缓存区的前后bp和bn的界定 通过命令ls可以看到 缓存区的 排序. 最开始打开的文件排在最上面, 序号最小. 那么它们就是 更 前 的缓冲区. 序号更前的用bp, 序号靠后的用bn. ...

  6. TP框架对数据库的基本操作

    数据库的操作,无疑就是连接数据库,然后对数据库中的表进行各种查询,然后就是对数据的增删改的操作,一步步的讲述一下框架对数据库的操作 想要操作数据库,第一步必然是要:链接数据库 一.链接数据库 (1)找 ...

  7. tp框架配置路由的初学习

    路由定义在route目录下的route.php中. 最普通的路由-- 路由到模块\控制器\方法 //路由到模块/控制器/操作 Route::rule('demo1','index/test/demo1 ...

  8. thinkPHP 空模块和空操作、前置操作和后置操作 具体介绍(十四)

    本章节:介绍 TP 空模块和空操作.前置操作和后置操作 具体介绍 一.空模块和空操作 1.空操作 function _empty($name){ $this->show("$name ...

  9. tp框架中引入php文件,Laravel框架及ThinkPHP框架超级简单的公共文件引入(保留变量)...

    为什么要把两个框架放在一起来说呢?额...因为TP5.1.x与Laravel实在是太像了,本文主要讲述关于大家顶部及底部文件引入的问题. 但是如果顶部和尾部只是单纯的html代码还好说,但是里面通常有 ...

  10. php tp3.2 去重方法,thinkPHP框架整合tcpdf插件操作示例

    本文实例讲述了thinkphp框架整合tcpdf插件操作.分享给大家供大家参考,具体如下: 网上查了些关于tcpdf 使用教程,整合到tp的话,会有些小问题,由于基础还不是很扎实,花了点时间终于整合o ...

最新文章

  1. 十六届智能车全向组硬件开源 | 上海海事大学全向行进组
  2. python【蓝桥杯vip练习题库】ADV-308递归输出
  3. python黑色背景编辑器_如何更换python默认编辑器的背景色
  4. linux shell if语句使用方法
  5. POJ 2240题(Floyd)
  6. c语言数据交换的算法流程图,C语言冒泡排序算法浅析
  7. 信息学奥赛一本通(1025:保留12位小数的浮点数)
  8. 2017.9.17 kamp 思考记录
  9. 救命神文!应对ubuntu磁盘空间不足(已解决)
  10. sharepoint 在Visual Studio设置其他页面的加载标签
  11. MySQL全量备份和增量备份脚本
  12. 哈夫曼树的生成详解(C++)
  13. 读《华为研发》第2版
  14. 从键盘输入二叉树怎么输入_手机输入法派别之争!九宫格和全键盘谁才是正统...
  15. CCS6.0安装教程
  16. NVS —— js 实现的node版本管理工具
  17. 如何使用jupyter notebook的PPT插件rise进行分页显示
  18. flink的map等常用api失效(记一次许久未写flink的坑)
  19. 三菱触摸屏GS2107以太网连接FX系列PLC
  20. 计算机勾兑双绝是谁发明,那些跟你说“勾兑酒”是酒精酒的人,都是在不懂装懂...

热门文章

  1. indesign教程,如何在文档中导航页面?
  2. 如何在Mac上控制对日历的访问?
  3. hyperledger的个人分享
  4. Magic Battery for Mac(电量显示工具)
  5. Batteries for Mac(电池电量管理软件)
  6. 如何在 Adobe XD 中创建交互式原型?
  7. Java添加水印文字
  8. C#将word转换为HTML格式
  9. 单线程与线程池的性能对比
  10. iOS 横竖屏适配 ---masonry