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

基础控制器

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

namespace app\controller;

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

thinkphp学习05-基础、空、多级控制器_第1张图片

空控制器

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



namespace app\controller;

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

控制器不存在即可触发
thinkphp学习05-基础、空、多级控制器_第2张图片
将index替换为下面的方法

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

thinkphp学习05-基础、空、多级控制器_第3张图片

多级控制器

所谓多级控制器,就是在控制器 controller 目录下再建立目录并创建控制器,我们在 controller 目录下建立 group 目录,并创建 Blog.php 控制器,而此时,我们需要访问的地址为:http://localhost:8506/group.blog以及http://localhost:8506/group.blog/read
thinkphp学习05-基础、空、多级控制器_第4张图片

thinkphp学习05-基础、空、多级控制器_第5张图片

你可能感兴趣的:(php,学习)