您的位置:首页 > 编程语言 > PHP开发

ThinkPHP空操作与命名空间

2016-06-16 09:37 507 查看
命名空间:
相当于一个虚拟的目录

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

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模块下的操作";

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: