1.空操作
空操作是指当系统找不到请求的操作方法时,会定位空操作(_empty)方法来执行。有了这个机制,我们可以优化错误页面和一些网址。
http://网站/索引. PHP/主页/主页/登录
http://URL/index . PHP/Home/Main/hello空操作
页面出现:
显示的错误信息过于详细,为了安全和页面优化,进行了清空操作
1.请使用make _ empty()方法。写在子类中,而不是父类中(推荐)
function _empty(){echo '网页不存在,请检查浏览器地址信息!}
2.创建对应于此方法的模板
在视图/主视图下创建一个新的text.html文件
Bodyh1不要访问/h1/body/html
注意:空操作方法只有在你的控制器类继承了系统的ThinkController类时才有效,否则需要自己定义__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框架的初始命名空间是:ThinkPHPLibrary
在TP框架下的命名空间中使用表示初始命名空间(ThinkPHPLibrary)
1.系统目录下的根命名空间以ThinkPHPLibrary下的文件夹名命名
2.模块的根命名空间以模块名命名
定义命名空间时,需要从根开始,如:HomeController,如:ThinkModel
如果要使用类文件,在引入类命名空间时:
使用Use关键字,并写出类的命名空间,后跟“文件名”
如果不想引入命名空间:可以在创建类对象时使用(初始命名空间)查找对应的类,如:new Think Page(30);
以上Thinkphp空操作、空控制器和命名空间(详细说明)都是边肖分享的内容,希望能给大家一个参考和支持。