微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

中间件怎么传值到controller 中间件传值的解决方法

程序问题

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

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

解决方法

通过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']);
}
}

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐