使用回调的方式实现中间件-laravel

$app = function ($request) {
    echo $request . "\n";
    return "项目运行中.....";
};

// 现在想在$app中加入一些额外的信息
$checkToken = function ($request, Closure $next) {
    echo "检测token中....\n";
    $response = $next($request);
    echo "检测token完成\n";

    return $response;
};

$checkPermission = function ($request, Closure $next) {
    echo "检测权限中....\n";
    $response = $next($request);
    echo "检测权限完成\n";
    return $response;
};

$middleware = [
    $checkToken,
    $checkPermission
];

$next = $app;

foreach ($middleware as $m) {
    $next = function ($request) use ($m, $next) {
        return $m($request, $next);
    };
}

$res = $next("haha");

echo $res;

  

猜你喜欢

转载自www.cnblogs.com/shiwenhu/p/10103137.html
今日推荐