使用Composer从零开发一个简单的restful框架(10)-分组中间件

其实全局中间件就是分组中间件,只是它是在/根分组上,所以任意路由都会执行全局中间件。

新建 app/middleware/Group.php,内容如下

';
        $num = mt_rand(0, 1);
        if ($num == 0) {
            $response->abort('请先登录');
            return;
        }

        $next();
        echo 'Group(路由分组) 中间件 call before
'; } }

编辑route/user.php,添加分组中间件

$router->namespace('app\api');
$router->middleware(\app\middleware\Group::class);

测试

浏览器访问http://phpapi.com/user/login或者http://phpapi.com/user/logout,这里随机模拟了登录判断

当登录成功时,会输出

All(全局) 中间件 call before
Group(路由分组) 中间件 call before
Group(路由分组) 中间件 call before
All(全局) 中间件 call after
from /user/login

当登录失败时,会输出

All(全局) 中间件 call before
Group(路由分组) 中间件 call before
All(全局) 中间件 call after
请先登录

你可能感兴趣的:(php)