ThinkPHP空操作与命名空间
命名空间:
相当于一个虚拟的目录
正常管理文件使用文件夹--物理区分
TP框架的初始命名空间是:ThinkPHP\Library
在TP框架下命名空间里面使用\代表的是初始命名空间(ThinkPHP\Library)
1.系统目录下根命名空间是ThinkPHP\Library下面的文件夹名称命名的
2.模块的根命名空间是以模块名命名的
在定义命名空间的时候需要从根写起例如:Home\Controller 例如:Think\Model
如果要使用某个类文件,引入该类命名空间的时候:
使用use关键字,后面写该类的命名空间 后面加上 "\文件名"
如果不想引入命名空间:在造类的对象的时候可以使用\(初始命名空间)来找到对应的类
例如:new \Think\Page(30);
空操作
当访问的方法不存在时,可以定义一个empty方法来避免空操作
function _empty() { echo "网页不存在,请检查地址信息"; }
这样当访问不存在的方法时就会显示以上信息
当访问的控制器不存在时,可以定义一个空操作器
<?php namespace Home\controller; use Think\controller; class EmptyController extends Controller { function _empty() { echo "访问的页面不存在!"; } }
这样当访问不存在的控制器时就会显示以上信息
跨控制器调用方法
Main控制器下:
function ShuChu() { //造对象 $index = new IndexController(); echo $index->ShuChu(); //使用A方法造对象 $index = A("Index"); echo $index->ShuChu(); //使用R方法,造对象并且调用某个特定方法 echo R("Index/ShuChu"); }
Index控制器下:
public function ShuChu() { echo "教务管理系统"; }
跨模块调用方法
Home模块下:
function ShuChu() { $text = A("Admin/Text"); echo $text->Text(); echo R("Admin/Text/Text"); }
Admin模块下:
<?php namespace Admin\controller; use Think\controller; class TextController extends Controller { function Text() { echo "hello"; return "Admin模块下的操作"; } }