簡體   English   中英

Laravel 5:更新中間件中的控制器

[英]Laravel 5: update Controller in Middleware

有什么方法可以訪問(修改)中間件中的$request “受保護的專有財產”,以修改請求的Controller:

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

    return $next($request);
}  

如果緩存對請求有效,我想覆蓋請求的控制器,

謝謝,

您可以通過返回重定向來更改中間件中的頁面。

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和方法更新為所需的位置。
但是我不建議這樣做。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM