千家信息网

Thinkphp空操作、空控制器、命名空间实例讲解

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容介绍了"Thinkphp空操作、空控制器、命名空间实例讲解"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能
千家信息网最后更新 2026年11月02日Thinkphp空操作、空控制器、命名空间实例讲解

本篇内容介绍了"Thinkphp空操作、空控制器、命名空间实例讲解"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1、空操作

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

出现页面:

显示的错误信息过于详细,为安全以及优化页面起见,实行空操作

1、做一个_empty()方法。要在子类里面写,不要再父类里(推荐使用)

function _empty(){  echo "网页不存在,请检查浏览器地址信息!";}

2.造一个该方法对应的模版

在view/main下面新建一个text.html文件

别乱访问

注意:空操作方法仅在你的控制器类继承系统的Think\Controller类才有效,否则需要自己定义 __call 来实现。

2、空控制器

空控制器的概念是指当系统找不到请求的控制器名称的时候,系统会尝试定位空控制器(EmptyController),利用这个机制我们可以用来定制错误页面和进行URL的优化。

Home/Controller/EmptyController.class.php

3、跨控制器调用

一个控制器在执行的时候,可以实例化另外一个控制,并通过对象访问其指定方法。

跨控制器调用可以节省我们代码的工作量

3.1 同一模块下:

例如:在Home/Controller中有两个控制器:IndexController.class.php和MainController.class.php

在IndexController.class.php有一个方法:

public function ShuChu()  {    return "教务管理系统!";    }

现在想要在 MainController.class.php中也调用ShuChu()方法

function DiaoYong()   {    //方法一:造对象    //$index=new IndexController();     //echo $index->ShuChu();        //造对象有快捷函数供我们使用:    //A("[模块/]控制器标志") 实例化控制器对象    //方法二:使用A()方法    //$index=A("Index");    //echo $index->ShuChu();        //R([模块/]控制器标志/操作方法) 实例化对象同时调用指定方法    //方法三:使用R()方法,造对象并且调用某个特定的方法    echo R("Index/ShuChu");  }

运行结果:

3.2 不同模块下:

新添加一个模块Admin

TextController.class.php:

现在想要在Home/Controller/ MainController.class.php中也调用Text()方法

function Text()  {    //跨模块调用            //方法一:使用A()方法    //$tt=A("Admin/Text");    //echo $tt->Text();        //方法二:使用R()方法,造对象并且调用某个特定的方法    echo R("Admin/Text/Text");        }

运行结果:

4.命名空间namespace

相当于一个虚拟的目录

正常管理文件使用文件夹--物理区分

TP框架的初始命名空间是:ThinkPHP\Library

在TP框架下命名空间里面使用\代表的是初始命名空间(ThinkPHP\Library)

1.系统目录下根命名空间是ThinkPHP\Library下面的文件夹名称命名的

2.模块的根命名空间是以模块名命名的

在定义命名空间的时候需要从根写起例如:Home\Controller 例如:Think\Model

如果要使用某个类文件,引入该类命名空间的时候:

使用use关键字,后面写该类的命名空间 后面加上 "\文件名"

如果不想引入命名空间:在造类的对象的时候可以使用\(初始命名空间)来找到对应的类
例如:new \Think\Page(30);

"Thinkphp空操作、空控制器、命名空间实例讲解"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

方法 控制 控制器 空间 对象 模块 文件 时候 系统 实例 页面 错误 信息 内容 名称 文件夹 更多 机制 标志 框架 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 湖北九亚互联网络科技有限公司 广州大一互联网络科技有限公司 今日互联网科技 互联网科技英文 赫美联合互联网科技 顺玮阁互联网科技 天下捷融互联网科技 科技互联网创业计划书 互联网科技英文翻译 互联网金融监管科技 美国互联网前沿科技 互联网巨头投资的硬核科技 互联网科技公司的市场部门 互联网科技实习生岗位职责 宁夏科技产业互联网案例 河南猎农互联网科技有限公司 荆州市昕露互联网络科技有限公司 成都互联网科技公司工作好不好 长沙茂晟互联网科技有限公司 济南小医互联网科技有限公司招聘 互联网科技公司简介 互联网科技产业 互联网的科技 互联网公司 科技公司 互联网科技的未来发展 中化能源互联网科技招聘 消费医药和互联网科技 乌鲁木齐新华智原互联网科技学校 互联网大会出现的黑科技 恒生科技互联网指数十大成分股
0