空操作命名空间

空操作

MainController.class.php

//如果访问的页面不存在,空操作
    //1.empty 空方法,解决空方法可以在每个自己做的控制器里写上empty方法
    /*function _empty()
    {
        echo "网页不存在请检查浏览器地址信息";
    }*/
    //2.造一个该方法对应的模板,直接输出模板不需要在子类写代码
    
    //跨控制器调用
    function ShuChu()
    {
        //造对象
        /*$index = new IndexController();    
        echo $index->ShuChu();*/
        
        //使用A方法造对象,快捷方法
        /*$index = A("Index");//直接写控制器名称Index
        echo $index->ShuChu();*/
        
        //使用R方法,造对象并且可以直接调用某个特定的方法,方法访问的时候使用什么方法就是用什么方法(此处是路径方式)
        //echo R("Index/ShuChu");
        
        //跨模块调用
        /*$test = A("Admin/Test");//跨模块的话比跨控制器多加一个模块名(Admin)
        echo $test->Test();*/
        //echo R("Admin/Test/Test");
        
        
    }
    

EmptyController.class.php(空控制器)

<?php
namespace HomeController;//命名空间位于home下面的controller
use ThinkController;//使用父类的命名空间
class EmptyController extends Controller
{
    function _empty()
    {
        echo "访问的页面不存在!";    
    }
}

TestController.class.php

<?php
namespace AdminController;//命名空间位于Admin下面的controller
use ThinkController;//使用父类的命名空间

class TestController extends Controller
{
    function Test()
    {    
        echo "hello";
        return "Admin模块下的操作";    
    }
}

IndexController.class.php

<?php
namespace HomeController;
use ThinkController;
class IndexController extends Controller {
    public function index(){
      $this->display();
    }
    public function login(){
        //echo "login";
        //echo U(login);
        
        $this->display();
        }
    public function ShuChu()
    {
        return "教务管理系统";
    }
}

命名空间:

相当于一个虚拟的目录

正常管理文件使用文件夹--属于物理区分
TP框架的初始根命名空间的:ThinkPHPLibrary
在TP框架下命名空间里面使用代表初始命名空间(ThinkPHPLibrary)
1.系统目录下跟命名空间是ThinkPHPLibrary 下面的文件夹名称命名的
2.模块的跟命名空间是以模块名命名的
在定义命名空间的时候需要从根写起,例如:HomeController 例如ThinkModel

如果要使用某个类,引入命名空间的时候:
使用use关键字,后面写该类的命名空间 加上“文件名”
如果不想引用命名空间:在造类的对象的时候可以使用(初始命名空间)来找到对应的类
例如:new ThinkPage(30);

解决空方法空控制器等空操作:先在每个自己做的控制器里写上empty方法   再写一个空控制器

原文地址:https://www.cnblogs.com/erinzhismile/p/5588950.html