ThinkPHP空操做与命名空间

命名空间:
至关于一个虚拟的目录php


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


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

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

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

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

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


若是要使用某个类文件,引入该类命名空间的时候:
使用use关键字,后面写该类的命名空间 后面加上 "\文件名"function

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

 

空操做命名空间

当访问的方法不存在时,能够定义一个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模块下的操做";
        
    }
}
相关文章
相关标签/搜索