Laravel Кошерный роутинг

флоппик

promotor fidei
Команда форума
Партнер клуба
Поделитесь плиз, кто как делает. Руками писать маршруты на каждый чих как-то стремает, делать убер-унифицированный роут тоже не особо гут.

Расскажите про Best Practices кто-нить?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
пишу как всегда ::any() на каждый чих-пых =)
 

keltanas

marty cats
Придерживаюсь точки зрения, что явное лучше, чем магическое. Потом поддерживать гораздо проще.
 

Absinthe

жожо
Не лучше ни явное ни магическое без описания ситуации. Серебряной пули нет.
Ситуация 1: опыт с фреймворком у специалиста менее пары месяцев. Естественно тут лучше явное.
Ситуация 2: опыт полгода и выше. Тут однозначно лучше соглашения.
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Вариант с ::any() нравится меньше всего, rest - это хорошо, хотелось бы его сохранить, но не делать руками кучу однотипных роутов на однотипные почти-крудовые контроллеры
 

AmdY

Пью пиво
Команда форума
Route::controller для crud. В остальном Route::get-post-any, из-за удбвства именованных роутов. Игрался с анотациями, но не понравилось.
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Попытка заиметь общий для всех роутов параметр/кусок урла для языка вызвала у меня обширную попоболь. Это правда так сложно, как я думаю, или делаю что-то не так?
 

Adelf

Administrator
Команда форума
Наверное, что-то не так. Зачем язык в URL?
/ru/something - русская версия
/en/something - английская версия

Что здесь не так? Чтобы ссылки можно давать сразу на нужный язык...
 

Absinthe

жожо
Я бы не стал делать это в path.
Либо определял бы первый раз по IP (с возможностью изменить язык на сессию или профиль), - кстати гугл и так не делает, а подсовывает в других странах всякие китайские версии даже при наличии в них официального английского, - либо использовал бы сабдомен.
 

Adelf

Administrator
Команда форума
Absinthe, ты бы может так не делал. Но многие делают.

З.Ы. Роутинг в Кохане был офигенен. горюю-плачу...
 

hell0w0rd

Продвинутый новичок
В симфони параметр "_locale" в роутах отслеживается. Разве проблема листенер/мидлвар в ларавел создать?
 

Absinthe

жожо
В симфони параметр "_locale" автоматически отслеживается. Разве проблема листенер/мидлвар в ларавел создать?
Кстати, локаль передается в http-заголовке и можно просто ее использовать, еслли пользователь не определил дополнительные настройки. Зачем определять это дополнительно в ссылке?
А если человек, которому передается ссылка, использует другой язык?
 

hell0w0rd

Продвинутый новичок
Absinthe, неоднозначный вопрос. Например если переводится не только интерфейс. Если я кидаю ссылку на англ вики, я хочу, чтобы собеседник прочитал именно английскую вики.
 

Absinthe

жожо
Absinthe, неоднозначный вопрос. Например если переводится не только интерфейс. Если я кидаю ссылку на англ вики, я хочу, чтобы собеседник прочитал именно английскую вики.
Статьи и подобные материалы уже содержат в себе язык. А вот страницы типа /about или /profile/edit должны его определять из пользователя.
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Статьи и подобные материалы уже содержат в себе язык. А вот страницы типа /about или /profile/edit должны его определять из пользователя.
Что за странное желание решать не ту проблему, что стоит? Можно просто ответить "легкого способа из коробки нет". Я живу в двуязычном государстве, у нас большинство контента именно переводы, а не просто "статья имеет язык".
 
Последнее редактирование:

Absinthe

жожо
Что за странное желание решать не ту проблему, что стоит? Можно просто ответить "легкого способа из коробки нет". Я живу в двуязычном государстве, у нас большинство контента именно переводы, а не просто "статья имеет язык".
Сначала нужно поставить цель: отобразить страницу на том же языке, что у пользователя, приславшего ссылку, или отобразить страницу на том языке, который предпочитает пользователь, которому ссылку прислали.
Я думаю, что вторая цель приоритетнее. И с ней проблем нет.
 
Сверху