在超薄上获取请求参数

2022-06-13 00:00:00 php slim

我试图动态获取请求参数的名称和值,但数组始终为空。这是GET路径:

$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行。此外,由于某些原因,当前操作似乎也无法检索参数,因此您必须使用具有预期值的函数参数$id_user

相关文章