Обработка маршрута

190
29 июля 2017, 07:05

Каким образом лучше решить такую задачу:

Вот маршрут в формате обычного ЧПУ:

htt://domain.com/user/list

Где user - контроллер, а list - действие

Необходимо в начале каждого маршрута указывать id сущности, с которой происходит работа, вот так:

htt://domain.com/25/user/list

И при этом нужно, чтобы создавались контроллеры и вызывались действия по обычному сценарию, если id этой сущности (25) существует в БД.

UPDATE

25 - это ID проекта, а не юзера. И маршрут просит дать всех юзеров проекта с ID=25.

Другой пример:

htt://domain.com/ru/user/list

Или:

htt://domain.com/en/user/list
Answer 1

В конфиге сайта (backend || frontend)/main.php указываешь

'urlManager' => [
        'showScriptName' => false,
        'enablePrettyUrl' => true,
        'rules' => [
           '<locale:\w+>/<controller>/<action>' =>  '<controller>/<action>'
        ],
    ],

При запросах на http://domain.com/en/user/list/ будет отправлять по сути на

http://domain.com?r=user&action=list&locale=en

В качестве <locale:\w+> можешь писать любое название например <id:\d+>, это будет переменной для get запросов. \w+ это означает что любые символы [a-zA-Z0-9]+ а \d+ это цифры [0-9]

READ ALSO
cookie php как задать время жизни

cookie php как задать время жизни

помогите с cookie php а именно нужно задать время жизни для куки 30 дней

206
php json кэширование полученных в формате json данных

php json кэширование полученных в формате json данных

Когда пользователь первый раз запускает страницу, скрипт проверяет, есть ли файл cachetxt и если его нет, а при первом запуске его нет,он (скрипт,...

222
yii2. Выборка с исключением

yii2. Выборка с исключением

Как сделать выборку в yii2 таким образом, что бы исключить уже имеющиеся элементы у пользователя? Этих элементов может быть тысячиКак оптимально?

267