Довольно плохо знаком с Laravel, и я пытаюсь добавить функциональность, которая позволяет пользователю переключаться между двумя языками, нажимая кнопку в файле header.blade. php. До сих пор у меня есть его, поэтому есть тестовый файл. php в соответствующих каталогах lang с тестовыми строками, и ему удалось получить <p>{{__('test.test')}}</p>
для отображения правильного языка при ручной настройке. На данный момент я не уверен, что это на самом деле вызов маршрута для обновления языка или если у меня есть logi c для обновления, это неправильно, так как я не получаю ошибок и использую barryvdh / laravel -debugbar для отладки.
Мой логин c для кнопки:
<button href="{{ url('language', config('app.locale') == 'en' ? 'fr' : 'en') }}">{{ config('app.locale') }}</button>
В маршрутах / сети. php:
Route::get('/language', 'LanguageController@show');
Route::post('/language/{lang}', 'LanguageController@update');
LanguageController. php , созданный с помощью php artisan make: controller --api
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class LanguageController extends Controller
{
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
return App::getLocale();
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//Tried the following
config(['app.locale' => $id]);
App::setlocale($id);
}
}
Вопросы:
- Это правильный способ обновления языка во время выполнения?
- Как я могу узнать, выполняются ли мои вызовы API?
- Как мне добиться этого внутри шаблона. vue file?
- Создает ли контроллер для язык избыточен?
- Изменится ли внутренняя HTML моей кнопки, если будет изменен языковой стандарт?
- Влияет ли влияние на конфигурационные файлы во время выполнения плохой практики?
- Редактировать-- Я должен также упомянуть, что единственная причина, по которой я сделал контроллер для этого, заключается в том, что у меня были вызовы маршрутизации в сети. php вместо этого используют функцию, однако они заявили, что это Closure, работающее php artisan route:list
и с исследование, которое я нашел, я не мог сказать, было ли это правильно