2016-10-26 3 views
0

В Слим 3 У меня есть маршрут с именем путиpathFor не работает в Слим Framework 3

$app->get('/admin/edit-course/{id}', '\AdminController:edit_course')->setName('/admin/edit-course'); 

Если я пытаюсь получить доступ к ней, используя объект маршрутизатора в моих шаблонах, как так ...

var_dump($router->pathFor('/admin/edit-course')); 

... Я получаю сообщение об ошибке приложения: ошибка

Тонкого применения

Приложение не может запустить из-за следующей ошибки:

Тип: InvalidArgumentException

сообщение: Недостающие данные для сегмента URL: Идентификация

Почему это? Все, что я хочу, это маршрутизатор для вывода URL-адреса в функцию AdminController:edit_course. Он работает для моих других маршрутов, но у них нет параметров, таких как идентификаторы, которые передаются в URL-адрес.

ответ

2

его, потому что в ПОЛУЧИТЬ маршрут вы определили «/ администратора/редактировать-курс/{ID}»

так, что он ищет идентификатор и его не в состоянии получить его.

pathFor('<< route name >>', ['id' => 0]); 

Это синтаксис, поэтому вам необходимо передать идентификатор.

, если вы не хотите, чтобы передать идентификатор, то вам нужно добавить еще один маршрут без Params

$app->get('/admin/edit-course', '\AdminController:edit_course') 
->setName('/admin/edit-course');