Php 在Slim上获取请求参数
我试图动态获取请求参数名称和值,但数组总是空的。这是获取路径:Php 在Slim上获取请求参数,php,slim,Php,Slim,我试图动态获取请求参数名称和值,但数组总是空的。这是获取路径: $app->get('/get/profile/:id_user', function ($id_user) use ($app) { print_r($app->request()->params()); }); 这就是我在浏览器中对它的称呼: http://localhost/get/profile/9492 这应该返回一个id为id\u user=>9492的数组,但它是空的 有什么想法吗?注意:
$app->get('/get/profile/:id_user', function ($id_user) use ($app) {
print_r($app->request()->params());
});
这就是我在浏览器中对它的称呼:
http://localhost/get/profile/9492
这应该返回一个id为id\u user=>9492的数组,但它是空的
有什么想法吗?注意:在尝试此代码之前,请阅读更新说明。更新说明是我在这个回答中的第一个评论
无法对其进行测试,但请尝试以下操作:
$app->get('/get/profile/:id_user', function ($id_user) use ($app) {
$req = $app->request();
print_r($req->params());
});
参考文件:
更新:好的在执行以下操作后,params()
方法需要一个参数。如果在没有参数的情况下调用,将引发通知。检查源代码后发现,此函数在没有参数的情况下调用时返回null。请参见Http/Request.php
第199行。此外,出于某些原因,curry似乎也无法检索参数,因此您必须使用具有预期值的函数参数$id\u user
。您可以使用以下内容:
$app->get("/test.:format/:name",function() use ($app){
$router = $app->router();
print_r($router->getCurrentRoute()->getParams());
});
这也是一个配置问题 试一试
也没有结果:(…
Array()
是唯一的响应方法需要一个参数。如果在没有参数的情况下调用,则会发出通知。检查源代码发现,在没有参数的情况下调用此函数会返回null。请参阅Http/Request.php第199行
。此外,出于某种原因,curry在检索参数时似乎也不起作用,因此您必须使用函数参数$id\u user
具有预期值。因此,无法动态获取所有请求的参数。文档在这方面写得有点模糊,但感谢您的解释!我将投票支持您的答案作为解决方案,但如果您在帖子中为其他人添加通知,那就太好了呵呵。@andufo,当然。我添加了通知并在更新说明中添加了我的评论。谢谢你指出这一点。@andufo,请注意,你可以使用$app->request->get()来检索它们。请看,谢谢,这正是我在过去半个小时所寻找的:)
try_files $uri $uri/ /index.php?$query_string;