Бывший я создал свой собственный MVC, и там было index.php
, что все страницы прошли путь от него. Я имею в виду, я мог бы переадресовать (header('Location: ..');
) в index.php
, а затем ни одна из моих страниц веб-сайта не может быть открыта.Домашняя страница маршрутизации в Laravel
Теперь я использую Laravel, и мне нужна основная страница (например, index.php
). Потому что мой новый сайт поддерживает многоязычность. Вот мой текущий код:
// app/Http/routes.php
Route::get('/{locale?}', '[email protected]');
// app/Http/Controllers/HomeController.php
public function index($locale = null)
{
if(!is_null($locale)) {
Lang::setLocale($locale);
}
dd(Lang::getLocale());
/* http://localhost:8000 => output: en -- default
* http://localhost:8000/abcde => output: en -- fallback language
* http://localhost:8000/en => output: en -- defined language
* http://localhost:8000/es => output: es -- defined language
* http://localhost:8000/fa => output: fa -- defined language
*/
}
Как вы видите, в моем текущем алгоритме, мне нужно проверить язык, который пользователь установил для каждого маршрута. Также мой сайт имеет почти 30 маршрутов. Я могу сделать это вручную 30 раз для каждого маршрута, но я думаю, что есть способ, который позволяет мне сделать это один раз для всех маршрутов. Разве нет?
Другим словом, как установить текущий язык (пользователь установил) для каждой страницы? Должен ли я проверять/устанавливать его для каждого маршрута отдельно?
Да, я знаком с 'Middleware', но я не знаю, как я должен его реализовать. спасибо в любом случае, upvote –
@MartinAJ Пожалуйста, проверьте обновленный ответ. Это просто идея, вам нужно исправить любую ошибку в моей реализации :) – aleksejjj