我正在構建的網站所需的功能之一是能夠從登錄視圖更改值,并且該值將顯示在整個站點的每個其他模塊/視圖中。為此,我做了一個選擇下拉串列來選擇所述變數,并且假設該變數必須在用戶去的任何地方顯示。

要在 Laravel 中創建一個全域變數,我需要在檔案夾 /config 中創建一個檔案,并使用我需要的控制器中的變數呼叫該檔案。我已經呼叫了一個示例變數來在網站的開頭顯示它。
config_ciclos.php
<?php
return [
'variables' => [
'ciclo1' => '20-21',
'ciclo2' => '21-22',
'ciclo3' => '22-23'
],
];
家庭控制器
public function index()
{
$ciclo = config('config_ciclo.variables.ciclo1');
$auth = Auth::id();
if ($auth != null) {
return view('home', compact('ciclo'));
} else {
return redirect('/');
}
}
唯一讓我感到困惑的是,我如何制作一個變數,每次用戶登錄時我都可以傳遞它來指示正在使用的全域變數?
我想知道是否可以在登錄請求中創建一個類似于用戶會話的變數。然后,我可以呼叫每個控制器來選擇我正在使用的全域變數,該變數在會話的時間限制后過期。但是,我不知道該怎么做。我唯一確定的是,也許我可以使用AuthenticatesUsers.php檔案,因為所有的 auth 和 login 方法都在那里。
uj5u.com熱心網友回復:
您可以使用 Laravel Auth Controller,可以將資料放入會話,也可以使用事件/偵聽器方法。
登錄控制器.php
// Store a piece of data in the session...
session(['config_ciclo' => config('config_ciclo.variables.ciclo1')]);
并在您的視圖中獲得價值,例如:
$value = session('config_ciclo);
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/460094.html
上一篇:使用不同的解析度/縮放在SVG和邊框寬度之間保持相同的大小和對齊的問題
下一篇:為什么不使用箭頭函式獲得輸出?
