php – 在Slim上获取请求参数

我正在尝试动态获取请求参数名称和值,但数组始终为空.这是获取路线:

$app->get('/get/profile/:id_user', function ($id_user) use ($app) {
    print_r($app->request()->params());
});

这就是我从浏览器调用它的方式:

http://localhost/get/profile/9492

这应该返回一个id_user =>的数组9492但它是空的.

有什么想法吗?

解决方法:

注意:请在尝试此代码之前阅读更新说明.更新说明是我在这个答案中的第一个评论.

无法测试它,但请尝试以下方法:

$app->get('/get/profile/:id_user', function ($id_user) use ($app) {
    $req = $app->request();
    print_r($req->params());
});

参考文档:http://docs.slimframework.com/#Request-Method

更新:好的,经过一些挖掘后发现,params()方法需要一个参数.如果在没有参数的情况下调用,则引发通知.检查源显示没有参数调用的此函数返回null.请参阅Http / Request.php第199行.由于某些原因,currying似乎无法检索参数,因此您必须使用具有预期值的函数参数$id_user.

上一篇:php – Slim Framework 3 – 如何将$logger注入路由控制器


下一篇:使用PHPUnit测试Slim 3路由时,$response-> getBody()为空