thinkphp学习05-基础、空、多级控制器

2024-01-08 08:50:37

基础控制器

一般来说,创建控制器后,推荐继承基础控制器来获得更多的方法;
基础控制器仅仅提供了控制器验证功能,并注入了think\App和think\Request;

namespace app\controller;

use app\BaseController;
class Test extends BaseController
{
	public function index()
	{
		//返回实际路径
		echo $this->app->getBasePath();
		echo "<br>";
		//返回当前方法名
		echo $this->request->action();
	}
}

在这里插入图片描述

空控制器

空控制器的概念是指当系统找不到指定的控制器名称的时候,系统会尝试定位当前应用下的空控制器(Error)类,利用这个机制我们可以用来定制错误页面和进行URL的优化。
在单应用模式下,我们可以给项目定义一个 Error 控制器类,来提醒错误;
Error.php

<?php

namespace app\controller;

class Error
{
    public function index()
    {
        return '当前控制器不存在!';
    }
}

控制器不存在即可触发
在这里插入图片描述
将index替换为下面的方法

public function __call($method, $args)
{
    echo print_r($method);
    echo "<br>";
    echo print_r($args);
}

在这里插入图片描述

多级控制器

所谓多级控制器,就是在控制器 controller 目录下再建立目录并创建控制器,我们在 controller 目录下建立 group 目录,并创建 Blog.php 控制器,而此时,我们需要访问的地址为:http://localhost:8506/group.blog以及http://localhost:8506/group.blog/read
在这里插入图片描述

在这里插入图片描述

文章来源:https://blog.csdn.net/qq_36437991/article/details/135448290
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。