如何在symfony中修改/添加帖子参数?

时间:2010-08-20 09:14:59

标签: symfony1

在处理请求之前,如何在服务器端向sfRequest对象添加更多参数?

我尝试了以下代码,但它不起作用。

$request->setParameter('formname[id]');

非常感谢提前。

3 个答案:

答案 0 :(得分:15)

向sfRequest对象添加参数非常简单。

$request->setParameter('newParam', 'newParamValue');
//see your added param
var_dump($request->getParameter('newParam')); 

我认为您可能遇到的问题是,使用数组参数 假设您要在参数“formname”中添加“id”。

$newParams = array('id'=>1);

//Merge the existing values in formname with your new value
$formnameArray = $request->getParameter('formname');
$mergedArray = array_merge($formnameArray, $newParams);

//save it back in the request obj
$request->setParameter('formname', $mergedArray);

这应该这样做。

答案 1 :(得分:2)

您可以从request访问公开$request属性并设置或添加参数。 例如:

$request->request->set("p1", "v1");
$request->request->set("p2", "v2");

$request->request->add(array("p1"=>"v1", "p2"=>"v2"));

答案 2 :(得分:0)

上述解决方案不适合用多级数组实现(以i18n为例)。

//get the array
$formnameArray = $request->getParameter('formname');
//alter the array
$formnameArray['id'] = $newID;
$request->setParameter('formname', $formnameArray);

无需合并你的大脑。