pathFor 在 Slim Framework 3 中不起作用
pathFor not working in Slim Framework 3
在 Slim 3 中,我有一个带有命名路径的路由
$app->get('/admin/edit-course/{id}', '\AdminController:edit_course')->setName('/admin/edit-course');
如果我像这样尝试使用模板中的路由器对象访问它...
var_dump($router->pathFor('/admin/edit-course'));
...我收到应用程序错误:
Slim 应用程序错误
由于以下错误,应用程序无法 运行:
类型:InvalidArgumentException
消息:URL 段缺少数据:id
这是为什么?我想要的只是路由器将 URL 输出到 AdminController:edit_course
函数。它适用于我的其他路线,但这些路线没有传递到 URL.
的参数,例如 ID
因为在 get route 中你定义了“/admin/edit-course/{id}”
所以它正在寻找 id 但无法获取它。
pathFor('<< route name >>', ['id' => 0]);
这是语法,因此您需要传递 id。
如果你不想传递id那么你需要添加另一条没有参数的路由
$app->get('/admin/edit-course', '\AdminController:edit_course')
->setName('/admin/edit-course');
在 Slim 3 中,我有一个带有命名路径的路由
$app->get('/admin/edit-course/{id}', '\AdminController:edit_course')->setName('/admin/edit-course');
如果我像这样尝试使用模板中的路由器对象访问它...
var_dump($router->pathFor('/admin/edit-course'));
...我收到应用程序错误:
Slim 应用程序错误
由于以下错误,应用程序无法 运行:
类型:InvalidArgumentException
消息:URL 段缺少数据:id
这是为什么?我想要的只是路由器将 URL 输出到 AdminController:edit_course
函数。它适用于我的其他路线,但这些路线没有传递到 URL.
因为在 get route 中你定义了“/admin/edit-course/{id}”
所以它正在寻找 id 但无法获取它。
pathFor('<< route name >>', ['id' => 0]);
这是语法,因此您需要传递 id。
如果你不想传递id那么你需要添加另一条没有参数的路由
$app->get('/admin/edit-course', '\AdminController:edit_course')
->setName('/admin/edit-course');