laravel在中间件内生成的变量如何传到控制器

Posted 爱你爱自己

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了laravel在中间件内生成的变量如何传到控制器相关的知识,希望对你有一定的参考价值。

 

在中间件内获取到一个变量,如何返回到控制器中并使用这个变量!

 

做了个demo:

// web.php
Route::get(‘/check‘, ‘[email protected]‘)->middleware(App\Http\Middleware\CheckRequest::class);

// Middleware/CheckRequest.php
class CheckRequest
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $check_request = ‘CheckRequest‘;
        $request->attributes->add(compact(‘check_request‘));
        return $next($request);
    }
}

// CheckController.php
//use Request;
use Illuminate\Http\Request;
class CheckController extends Controller
{
    public function check(Request $request)
    {
        return $request->get(‘check_request‘); // 输出CheckRequest
    }
    
    public function check2()
    {
        return Request::get(‘check_request‘); // 输出CheckRequest
    }
}

以上是关于laravel在中间件内生成的变量如何传到控制器的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 中间件将变量返回给控制器

在带有 Blade 的 Laravel 4 中看不到内容视图中的变量

如何设置 Laravel 中间件的执行顺序?

如何在 Laravel 和 Lumen 的控制器构造函数中的中间件之后调用方法、函数或初始化类?

Laravel - 如何通过路由组将变量传递给中间件?

如何将控制器中的 Laravel 4.2 beforeFilter 转换为 Laravel 5.2 中的自定义中间件