1

我是 Symfony2 的新手。我正在理解这个框架。我尝试使用 Symfony2 访问我的请求的获取参数。但是当我访问它们时它返回 null

$name = $request->query->get('name');
echo $name;

我的控制器代码是

namespace abc\myBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;

use Symfony\Component\HttpFoundation\Request;

 public function getnameAction()
{

    $request = $this->get('request');
    echo $request->getMethod();

    $name = $request->query->get('name');
    echo $name. "---";

}

我的路由文件如下:

abcmy_newpage:
    pattern:  /new/{name}
    defaults: { _controller: abcmyBundle:new:getname }

当我运行 URL

http://dashboardsmf.iiit.ac.in/web/app_dev.php/new/India

我得到了对应于 echo 语句“ echo $request->getMethod(); ”的方法名称“GET”。

但是我得到了 echo 语句 echo $name 的 null/"" 空白值。"---";

我不知道我错在哪里了。请帮助我。在此先感谢。

4

1 回答 1

5

尝试将您的操作更改为:

public function getnameAction($name) {
    echo $name;
}

Symfony 将路由文件中定义的参数绑定到动作方法中的参数名称(有关更多详细信息,请参阅Symfony 书籍中关于控制器参数的章节)。

如果你想用来$request->query获取你的参数,它应该像这样传递:http://http://dashboardsmf.iiit.ac.in/web/app_dev.php/new?name=India.

于 2013-06-24T11:27:59.450 回答