Параметр маршрута не работает в Zend-Expressive - PullRequest
0 голосов
/ 11 мая 2019

Я просто хочу создать Crud API для объекта "Event". Маршруты для Индекс работает хорошо, но маршрут для конкретного события не работает как и ожидалось

это то, что у меня есть в 'rout.php'

$ app-> get ('/ event /: id', \ App \ Handler \ EventRecoverHandler :: class, 'event.withId');

Я ожидаю восстановить идентификатор в обработчике, используя: $ id = $ request-> getAttribute ('id');

но маршрут распознается, только если буквально поставить '/ events /: id', в этом случае обработчик достигнут, но идентификатор равен нулю (как и ожидалось)

с другой стороны, если я поставлю '/ events / 4', результат будет: "Cannot GET http://localhost/event/4"

1 Ответ

2 голосов
/ 12 мая 2019

Проблема заключалась в том, что я следовал примерам, представленным в файле rout.php, они говорят, что для использования параметров маршрута вы должны использовать / path /: параметр

Я не знаю, какие пакеты маршрутизаторадействительно использует этот синтаксис, но в моем случае я использовал FastRoute (выбор установщика Zend Expressive по умолчанию), и правильный синтаксис (следуя документации по быстрому маршруту) /path/ndomparameter rout.

...