Laravel 5.1 с переключением языка - PullRequest
0 голосов
/ 11 июля 2020

Я пытаюсь переключить язык на Laravel 5.1.

На моем config / languages. php Я использую:

<?php

return [
    'en' => 'en',
    'ru' => 'ru',
];

На моем LanguageController Я использую:

<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use App\Http\Requests;
use Config;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Redirect;
use Illuminate\Support\Facades\Session;

class LanguageController extends Controller {

    public function switchLang($lang)
        {
        if (array_key_exists($lang, Config::get('languages'))) {
            Session::set('applocale', $lang);
        }
        return Redirect::back();
        }
}

В layout.blade я пишу:

const LANG = '{{ Config::get('languages')[App::getLocale()] }}';

В app / Http / Ядро я добавляю в строку 22:

\App\Http\Middleware\Language::class,

И на маршрутах, которые я использую:

Route::get('lang/{lang}', ['as'=>'lang.switch', 'uses'=>'LanguageController@switchLang']);

Но когда я пытаюсь go на site.com/lang/en я получил ошибку:

ErrorException in LanguageController.php line 16:
array_key_exists() expects parameter 2 to be array, null given

Кто мне скажет, где моя ошибка? Подробности по запросу

1 Ответ

0 голосов
/ 12 июля 2020

попробуйте очистить кеш конфигурации

php artisan config:cache
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...