访问Symfony2请求对象中的POST值

访问Symfony2请求对象中的POST值,第1张

访问Symfony2请求对象中的POST值 Symfony 2.2

此解决方案从2.3开始弃用,并将在3.0中删除,请参阅文档

$form->getData();

给你一个数组的形式参数

摘自symfony2书第162页(第12章:表格)

[…]有时,您可能只想使用没有类的表单,并取回已提交数据的数组。这实际上非常简单:

public function contactAction(Request $request) {  $defaultData = array('message' => 'Type your message here');  $form = $this->createFormBuilder($defaultData)  ->add('name', 'text')  ->add('email', 'email')  ->add('message', 'textarea')  ->getForm();  if ($request->getMethod() == 'POST') {    $form->bindRequest($request);    // data is an array with "name", "email", and "message" keys    $data = $form->getData();  }  // ... render the form}

您还可以直接通过请求对象访问POST值(在这种情况下为“名称”),如下所示:

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

但是,请注意,在大多数情况下,使用getData()方法是一个更好的选择,因为在表单框架对数据进行转换之后,它会返回数据(通常是对象)。

当您要访问表单令牌时,必须使用问题的答案,

$postData =$request->request->get('contact');
因为
getData()
从数组中删除了元素


Symfony 2.3

从2.3开始,您应该使用

handleRequest
而不是
bindRequest

 $form->handleRequest($request);


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5065341.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存