簡體   English   中英

$request-merge() 在父 controller 中消失

[英]$request-merge() disappears in parent controller

我被困在一個奇怪的問題上......

我有一個簡單的中間件。

$request->merge([
   'user' => $jwt->toArray(),
   'app_version' => $request->header('app-version')
]);

當我在$next($request); 它有用戶 object 和 app_version。 一切順利:見下圖:

在此處輸入圖像描述

移動到 controller。當在路由中定義的 function 時,並進行dump($request); 它有用戶 Object

在此處輸入圖像描述

InstallController 擴展了 controller.php 擴展了use Illuminate\Routing\Controller as BaseController;

在 controller.php 中,我們有一個結構 function。

在此處輸入圖像描述

出於某種原因,這里的$request是空的並且丟失了 object。

在此處輸入圖像描述

為什么會這樣? 為什么這在 InstallController 中可用但在父級中不可用?

結果如下。 在Laravel流明中,中間件完成請求后調用了controller個構造函數。 在 Laravel 中,構造函數在中間件之前被調用。

意味着在 Laravel 中的中間件中向請求添加參數不起作用。

感謝您為我指明正確的方向。

暫無
暫無

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

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