@Alk90
php, mysql, jquery, css, html, api

Как сделать многоуровневый роутинг праивльно?

Всем привет! Совсем запутался с роутингом, пните в нужном направлении.
Пытаюсь сделать страницы:
  • /user/234 - страница пользователя
  • /user/234/albums - страница альбомов пользователя
  • /user/234/albums/edit/234 - конкретный альбом пользователя

Выходит вот такой роут:
'user/(?P<user_id>[0-9]+)(/(?P<action>[a-z_-]+))?' => [
   'controller' => 'user'
];

У меня получается, что user это контроллер, 234 - это его ID, albums это action - метод контроллера. Но что в таком случае edit? А что если такой вложенности будет больше, например когда это категории и подкатегории?
  • Вопрос задан
  • 152 просмотра
Пригласить эксперта
Ответы на вопрос 1
@AndryG
Откройте для себя методы HTTP (get/post/put/delete/patch) - не зря их придумывали.

Для простоты решения возьмите форму CLASS/param/param/param

/user/234 - страница пользователя
/user/234 - аналогично предыдущему
albums/user/234/ - страница альбомов пользователя 234
albums/567 - конкретный альбом пользователя (если номер альбомов сквозные)
albums/234/6 - если нужны два поля user-num

А вот что делать - пусть указывает HTTP метод (get/put/delete)

Ну, или CLASS/METHOD/param/param/param
Ответ написан
Ваш ответ на вопрос

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

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