Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用会话在404页面中进行Laravel本地化_Php_Laravel_Session_Http Status Code 404_Locale - Fatal编程技术网

Php 使用会话在404页面中进行Laravel本地化

Php 使用会话在404页面中进行Laravel本地化,php,laravel,session,http-status-code-404,locale,Php,Laravel,Session,Http Status Code 404,Locale,我使用session变量在中间件中设置了locale,除了404页面外,它工作正常。据我所知,会话变量和中间件都不能在异常处理程序中工作。这是我的密码: 路线: Route::get('setlocale/{locale}', function ($locale) { if (in_array($locale, \Config::get('app.locales'))) { Session::put('locale', $locale); } return redi

我使用session变量在中间件中设置了locale,除了404页面外,它工作正常。据我所知,会话变量和中间件都不能在异常处理程序中工作。这是我的密码:

路线:

    Route::get('setlocale/{locale}', function ($locale) {
  if (in_array($locale, \Config::get('app.locales'))) {
    Session::put('locale', $locale);

  }
  return redirect()->back();
})->name('lang.switch');
中间件:

class Language
{
    public function handle($request, Closure $next)
    {
        $raw_locale = Session::get('locale');
        if (in_array($raw_locale, Config::get('app.locales'))) {
            $locale = $raw_locale;
        } else $locale = Config::get('app.locale');

        App::setLocale($locale);


        return $next($request);
    }

}
有什么想法吗