kohana uri путаница - PullRequest
       2

kohana uri путаница

0 голосов
/ 29 февраля 2012

Маршрут, который я установил, не работает:

Route::set('route_id_3', 'mod(/<action>(/<id>(:<name>)))')
->defaults(array(
    'controller' => 'mod',
    'action'     => 'act',
));

Когда я запрашиваю ID в качестве параметров запроса, я получаю все установленные после действия.например, '10: name '

Это случается, является ли это двоеточием:, тире или плюс +, не имеет значения, если это не косая черта (/)

Итак, это работает только если я заменяюдвоеточие с косой чертой => /

Как мне заставить его работать с - или + или двоеточием:?

Спасибо.

пс.Я хочу, чтобы бит 'name' был необязательным.Независимо от того, есть он или нет, мне нужно, чтобы это работало.И так, только с идентификатором, но я хочу, чтобы написанное имя не повлияло на него.Как в системах газетного сайта.Спасибо!

1 Ответ

0 голосов
/ 01 марта 2012

Вы можете получить это, добавив регулярное выражение в качестве третьего параметра в метод set.

Route::set('route_id_3', 'mod(/<action>(/<id>(:<name>)))', array('id' => '\d+'))
->defaults(array(
    'controller' => 'mod',
    'action'     => 'act',
));

Все цифры до ':' будут 'id', а любая цифра после ':' будет 'name'.

Так что, если ваш URI - 'mod / act / 10: test'. Тогда ваш идентификатор будет 10, а имя будет проверено.

...