Я пытаюсь переключить язык на 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
Кто мне скажет, где моя ошибка? Подробности по запросу