Еще баг в роутах с PCRE

Просто демонстрация факта. Есть роут:

$router->add('/info(/{id:[0-9]+})?', [
    'module'        => 'frontend',
    'controller'    => 'index',
    'action'        => 'index',
    'id'            => 1,
]);

Если сделать запрос на /info, в $this->dispatcher->getParam('id') вернет "1", т.е. индекс параметра, а не его значение. Баг явный, кто-нибудь оформите ошибку в багтрекер, plz.

Если у тебя в url уже прописан {id:[0-9]+}, то зачем его еще раз обозначать в 'id' => 1. Еще и правило в ( )? собрал, роутер выдаёт, скорее всего, значение по умолчанию ( 'id' => 1 ).



6.8k

Проверю завтра, но думаю проблема в чем-то другом.



6.8k

Блин, нельзя на пьяную голову программить. Явно же мой глюк, параметр отсутствует - выдаем дефолтное значение, которое сам и указал ((((. Вот я... @boston, спс.