gpt4 book ai didi

php - Laravel 中间件不存储 session 值

转载 作者:搜寻专家 更新时间:2023-10-31 21:50:50 25 4
gpt4 key购买 nike

我尝试将我的语言放在 session() 中,但是当我检查 session 时:dd(session()->get('locale')); - 它为空。我不知道为什么。我需要将该值存储在 session 中。

我的中间件:

class LangSwitch {
...
public function handle(Request $request, Closure $next)
if(!session()->has('locale')){
$locale = $request->segment(1);
session()->put('locale', $locale);
}
else{
$locale = session()->get('locale');
}

if (!array_key_exists($locale, Config::get('app.locales'))) {
$segments = $request->segments();
$segments[0] = Config::get('app.fallback_locale');

return redirect()->to(implode('/', $segments));
}

App::setlocale($locale);

return $next($request);
}
}

我的内核:

protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
\App\Http\Middleware\LangSwitch::class,
],

最佳答案

让我们试试这个

它会起作用

\Session::save();

每当您想保存修改时,假设我想存储用户的语言

\Session::put('lang','en');
\Session::save();

关于php - Laravel 中间件不存储 session 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43110083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com