Задать вопрос
@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? А что если такой вложенности будет больше, например когда это категории и подкатегории?
  • Вопрос задан
  • 156 просмотров
Подписаться 2 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 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
Ответ написан
Ваш ответ на вопрос

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

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