Как строятся иерархические маршруты в ларе и какую логику обработки порекомендуете?
Добрый день. Имеется сайт с:
1) Посты
2) Товары
3) Категории (в большом количестве)
4) Страницы
5) Медиа (всякие ссылки на видео)
Сайт раньше был на вордпрессе, поэтому все урлы есть в индексе и все они однотипны:
site.ru/query, где query - может быть всем чем угодно, хоть страницей, хоть постом, хоть категорией или видосом, а может это и товар. Ситуация еще сильнее усугубляется тем, что есть 3 уровня категорий, и урл в их случае формируется так:
site.ru/cat/query или site.ru/cat/cat/cat/query.
Так же можно открывать и категории, которые могут быть и вида site.ru/cat и site.ru/cat/cat и site.ru/cat/cat/cat.
Так вот, профи, как бы вы реализовали такую маршрутизацию?)
Я час ломал голову и пришел к таким вопросам:
1) Сильно ли будет тормозить страницу проверка query по всем таблицам? Ведь мы изначально не знаем, что запрашивает юзер, и урл никак не можем менять, ибо уже в индексе. Какой самый простой способ сразу отдать юзеру то, зачем он пришел?
2) Для категорий необходимо использовать nestedset? Можно ли обойтись другим способом? Вроде как доходит дело до иерархии - все кричат про нестед. Но мне очень не хочется менять логику приложения, добавлять доп поля в таблицы. Да и в целом, на этапе 70% готовности проекта очень страшно добавлять чужие пакеты. Даже если все отлично, никогда не знаешь на каком этапе это привнесет сюрпризы.
1) В таком случае, если заводить таблицу, тогда уж сохранять в ней полные урлы с расшифровкой что и из какой таблицы брать.
2) Ну так посоветуйте что лучше. Я ж отсеял один вариант, может есть какой-то более простой и удобный...