【问题标题】:Symfony2 retrieve the parameter values from URLSymfony2 从 URL 中检索参数值
【发布时间】:2016-08-07 22:38:11
【问题描述】:

当我尝试从 url 获取参数时,它什么也不返回

这是我的网址:http://localhost/myapp/web/dailydata/payment/amount/1000

这是我的 symfony 脚本:

use Symfony\Component\HttpFoundation\Request;
.
.
public function MyAction()
{
    $request = $this->getRequest();
    $amount = $request->request->get('amount');
    echo 'Amount ='.$amount;
    exit;
}

【问题讨论】:

  • 如果你的路由定义中有 .../{amount} 则 $request->attributes->get('amount') 或只是函数 myAction($amount)
  • 感谢 $request->attributes->get('amount') 为我工作。

标签: php symfony url parameters


【解决方案1】:

您需要在 routing.yml 文件中定义正确的路由,如下所示:

my_action:
    path:      /dailydata/payment/amount/{amount}
    defaults:  { _controller: <bundle>:<controller>:My }

如果您不指定路由的哪一部分是参数,则您无法从操作中访问它。必要时替换各种空白(正确的 URL、捆绑包和控制器)。

【讨论】:

    【解决方案2】:
    use Symfony\Component\HttpFoundation\Request;
    .
    .
    public function MyAction()
    {
        $request = $this->getRequest();
        $amount =$request->attributes->get('amount'); //replace this line in above code
        echo 'Amount ='.$amount;
        exit;
    }
    

    【讨论】:

    • 很高兴它正在工作。顺便说一句,考虑注入请求: MyAction(Request $request)
    猜你喜欢
    • 1970-01-01
    • 2011-07-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多