2014-09-22 69 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對象作爲您的動作的參數(因爲它將自動替換爲實際的請求對象)。

相關問題