Laravel 5:更新中间件中的Controller

时间:2017-02-02 15:43:48

标签: php laravel laravel-5

有没有办法访问(修改)$request"受保护的礼节"在中间件中,修改请求的Controller:

public function handle($request, Closure $next)
{
    // change $request parameter
    // $request->server->parameters->REQUEST_URI = "something else";

    return $next($request);
}  

如果Cache对请求有效,我想覆盖请求的Controller,

感谢,

1 个答案:

答案 0 :(得分:1)

您可以通过返回重定向来更改中间件中的页面。

public function handle($request, Closure $next)
{
    // change $request parameter
    // $request->server->parameters->REQUEST_URI = "something else";
    if ($request->something === 'anything')
        return redirect()->to("/something-else");

    return $next($request);
} 


更新 如果您不希望更新URL,可以使用以下命令直接调用控制器:

app(\App\Http\Controllers\MyController::class)->getMethod();

将Controller和方法更新为您需要的位置 但是我不建议这样做。