Laravel: Как передать переменную в web.php имени блейд-вида

Это мой файл web.php:

<?php $current_language = app()->getLocale();
Route::get('/',function(){ return view('fr/accueil');});
Route::get('/test',function(){ return view('{$current_language}/test');});

но переменная current_language не распознается Laravel, она говорит, что «View [{$ current_language} .test] не найден». Однако у меня есть представления блейд-серверов fr / test и ar / test. Как я могу передать значение $ current_language?
Большое спасибо.

2

Решение

добавлять use ключевое слово для определения $current_language внутри анонимной функции:

<?php $current_language = app()->getLocale();
Route::get('/',function(){ return view('fr/accueil');});
Route::get('/test',function() use($current_language){
return view($current_language.'/test');
});

Чтобы получить последнее значение языка, вы должны добавить app()->getLocale() потому что первая реализация вернет первое значение, присвоенное $current_language переменная, так что вы можете сделать это так:

Route::get('/test',function(){
return view(app()->getLocale().'/test');
});
3

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector