手机版

Thinkphp空操作 空控制器 命名空间(详细说明)

时间:2021-09-05 来源:互联网 编辑:宝哥软件园 浏览:

1.空操作

空操作是指当系统找不到请求的操作方法时,会定位空操作(_empty)方法来执行。有了这个机制,我们可以优化错误页面和一些网址。

http://网站/索引. PHP/主页/主页/登录

http://URL/index . PHP/Home/Main/hello空操作

页面出现:

显示的错误信息过于详细,为了安全和页面优化,进行了清空操作

1.请使用make _ empty()方法。写在子类中,而不是父类中(推荐)

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

2.创建对应于此方法的模板

在视图/主视图下创建一个新的text.html文件

Bodyh1不要访问/h1/body/html

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

2.空控制器

EmptyController的概念是指当系统找不到请求的控制器名称时,系统会尝试定位空的控制器,可用于自定义错误页面和优化URL。

主页/控制器/操作控制器类

?phpnamespace Home \控制器;使用思考\控制器;类空控制器扩展了控制器{ public function _ empty(){ echo访问的页面“不存在!”;} }

3.跨控制器调用

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

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

3.1在同一模块下:

例如,家庭/控制器中有两个控制器:IndexController.class.php和MainController.class.php

IndexController.class.php中有一种方法:

公共函数ShuChu(){返回‘教务管理系统!’;}现在我想在MainController.class.php也叫舒初()法

函数刁勇(){//方法1:创建对象//$ index=new index controller();//echo $ index-ShuChu();//创建对象时有快捷函数供我们使用://A("[模块/]控制器标志")实例化控制器对象//方法2:使用方法A()/$ Index=A(' Index ');//echo $ index-ShuChu();//R([ module/]控制器标志/操作方法)实例化对象的同时调用指定的方法。//方法3:使用R()方法创建对象,并调用特定的方法echo R(' Index/ShuChu ');}操作结果:

3.2不同模块下:

添加新模块管理

TextController.class.php:

?phpnamespace管理\控制器;使用思考\控制器;类TextController扩展了Controller { public function Text(){ echo ' HHHHH ';}}现在我想调用home/controller/main controller . class . PHP中的Text()方法。

函数Text() {//跨模块调用//方法1:使用()方法//$ TT=A(' Admin/Text ');//echo $ TT-Text();//方法2:使用R()方法创建一个对象,调用特定的方法回显R(' Admin/Text/Text ');}操作结果:

4.命名空间

相当于一个虚拟目录

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

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

在TP框架下的命名空间中使用\表示初始命名空间(ThinkPHP\Library)

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

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

定义命名空间时,需要从根开始,如:Home\Controller,如:Think\Model

如果要使用类文件,在引入类命名空间时:

使用Use关键字,并写出类的命名空间,后跟“\文件名”

如果不想引入命名空间:可以在创建类对象时使用\(初始命名空间)查找对应的类,如:new \ Think \ Page(30);

以上Thinkphp空操作、空控制器和命名空间(详细说明)都是边肖分享的内容,希望能给大家一个参考和支持。

版权声明:Thinkphp空操作 空控制器 命名空间(详细说明)是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。