Задать вопрос
@Ssonik

Как на одном уровне вложенности url обрабатывать различные данные?

Как быть в таких случаях?

Route::get('/{page}', 'Frontend\PageController@index');
Route::get('/{catalog}', 'Frontend\CatalogController@index');
Route::get('/{catalog}/{filters?}', 'Frontend\CatalogController@filters');
Route::get('/{catalog}{product}', 'Frontend\ProductController@index');

Первое решение которое приходит в голову это создать 1 route для page и catalog далее производить поиск в базе по url и выдавать разный результат.

Что если страниц будет 10000? Что если будет 3 различных типа страниц и нужно сохранять url на 1 уровне? И т.д.
  • Вопрос задан
  • 86 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
JhaoDa
@JhaoDa
LaravelRUS Team
Использовать префиксы:
Route::get('/page-{page}', 'Frontend\PageController@index');
Route::get('/catalog-{catalog}', 'Frontend\CatalogController@index');
Route::get('/catalog-{catalog}/{filters?}', 'Frontend\CatalogController@filters');
Route::get('/catalog-{catalog}/product-{product}', 'Frontend\ProductController@index');
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
pLavrenov
@pLavrenov
Разработка сайтов
Так как выше только.... везде говорят о том что надо использовать множественные именования ресурсов но мне не нравится...

Route::get('/page/{page}', 'Frontend\PageController@index');
Route::get('/catalog/{catalog}', 'Frontend\CatalogController@index');
Route::get('/catalog/{catalog}/{filters?}', 'Frontend\CatalogController@filters');
Route::get('/catalog/{catalog}/product/{product}', 'Frontend\ProductController@index');


Именование сложных действий в REST API
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы