中间件怎么传值到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']);
}
}

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

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...