symfony2中的$ _GET来获取许多变量

时间:2014-01-01 15:55:33

标签: php symfony

我正在尝试从$ _GET请求中获取变量 请求类似于/ markers / var1 / var2 / var3 / var4 路线文件如下:

Markers:
pattern:  /markers/{slug}
defaults: { _controller: ngNearBundle:Markers:index }

第一个问题是:

  1. 索引方法需要是一个动作方法吗? “indexAction”方法将输出json。
  2. 如何获取var1和var2等的值......?
  3. 谢谢!

1 个答案:

答案 0 :(得分:2)

1)
是的,它需要是控制器内部的动作。如果您返回JSON正文,则可以使用JsonResponse

2)
您只需要更改action

的模式
Markers:
    pattern: /markers/{slug}/{var2}/{var3}/{var4}
    defaults: { _controller: ngNearBundle:Markers:index }

在您的MarkersController中添加如下操作:

public function indexAction($slug, $var2, $var3, $var4) {
    //...
}

或者您可以保留这样的路线:/markers/{slug},将其他变量添加为普通GET变量(/markers/test?var2=a&var3=b&var4=c)并在action中访问它们,如下所示:

public function indexAction(Request $request, $slug) {
    $var2 = $request->query->get('var2');
    // and so on...
}