3

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

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

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

http://localhost/get/profile/9492

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

任何想法为什么?

4

3 回答 3

4

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

无法对其进行测试,但请尝试以下操作:

$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具有预期值的函数参数。

于 2013-06-12T01:58:06.030 回答
3

您可以使用以下内容:

$app->get("/test.:format/:name",function() use ($app){
  $router = $app->router();
  print_r($router->getCurrentRoute()->getParams());
});
于 2014-03-04T16:53:49.213 回答
0

也是配置问题。</p>

尝试

try_files $uri $uri/ /index.php?$query_string;
于 2015-11-17T02:02:13.540 回答