Symfony 2.2
esta solución está obsoleta desde 2.3 y se eliminará en 3,0, see documentation
$form->getData();
le da una matriz para los parámetros de forma
de symfony2 book página 162 (capítulo 12 : Formularios)
[...] a veces, es posible que desee utilizar un formulario sin clase y obtener una matriz o f los datos enviados . Esto es realmente muy fácil:
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
}
También puede acceder a los valores de la POST (en este caso "nombre") directamente a través del objeto de la petición, así:
$this->get('request')->request->get('name');
Tenga en cuenta, sin embargo, que en la mayoría de los casos, usar el método getData() es una mejor opción, ya que devuelve los datos (generalmente un objeto) después de que el marco de formulario los ha transformado.
Cuando desee acceder a la señal formulario, usted tiene que utilizar la respuesta de la Problemática $postData = $request->request->get('contact');
porque el getData()
elimina el elemento de la matriz
Symfony 2,3
desde 2.3 debe usar handleRequest
en lugar de bindRequest
:
$form->handleRequest($request);
see documentation
Esto es genial, y ahora es la mejor respuesta. $ form-> getData() didn ' Existe o no estaba documentado cuando hice la pregunta. – Acyra
para vincular los datos de solicitud para formar en las versiones más recientes, debe usar $ form-> handleRequest ($ request); en lugar de $ form-> submit ($ r equest); creo. Más detalles http://symfony.com/doc/2.3/book/forms.html#handling-form-submissions – adridev