2014-09-22 33 views
0

我会尝试验证,如果一个变量POST存在,但我的功能无法识别。Symfony2:我如何得到,如果变量帖子存在

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

if($request->has('variable')){ 
// do something 
} 

但是函数有没有实现请求,但我已经看到的是实现到parameterBag。 所以我不知道如何使用parameterBag。

我已经尝试在谷歌搜索,但所有的解决方案是使用

"$request->has('variable')" 
or 
$request->hasParameter('variable') 

但和hasParameter不是要求的功能...

感谢您的帮助,

问候,

Jérôme

+1

语法有点奇怪:$ request-> request-> has('xxx')。第二个请求实际上是包含任何发布数据的参数包。 – Cerad 2014-09-22 15:23:07

回答

2

POST v可读性存储在$request->request(命名很混乱)。试试这个,

if ($request->request->has('variable')) { 
    //do something 
} 

请记住,您的请求的每个属性is a ParameterBag instance (or a sub-class of)。这里的要点是针对request属性(其中包含POST数据)

+0

是的,它的作品非常感谢您的回答:)其非常混乱的方法^^ – jerome 2014-09-22 15:28:13

+1

Thx,我更了解它的作品现在:) – jerome 2014-09-22 15:39:29

0

我可以补充说,如果您希望在Controller中执行此操作,您可能不会使用“请求”服务,而是添加$ request对象作为您的动作的参数(因为它将自动替换为实际的请求对象)。

相关问题