中间件可以传值到controller吗?

升级到L5之后,原来的fliter改成中间件了, 请问如何通过中间件把值传递到controller里面呢?

比如我做一个user auth,每次请求都带token,通过token可以拿到用户信息,那为了避免重复查询,如何把查询出来的结果传递到controller里面呢?
已邀请:

Usual

赞同来自: fengbingji

刚刚试了下,是可以的,通过middleware注入的$request实例。

代码大概是这样:
// middleware.php

public function handle($request, Closure $next)
{
$request['test'] = 123;
$response = $next($request);
return $response;
}

// TestController.php

class TestController extends Controller{

public function getTest(Request $request)
{
    var_dump($request['test']);
}
}

这样是可以实现传值的,其他的办法暂时还没想出来。。。

Usual

赞同来自:

缩进并不能怪我。。

要回复问题请先登录注册