Symfony 2.2
esta solución está en desuso desde 2.3 y se eliminará en 3.0, consulte la documentación
$form->getData();
le da una matriz para los parámetros del formulario
del libro de Symfony2, página 162 (Capítulo 12: Formularios)
[...] a veces, es posible que desee utilizar un formulario sin una clase y obtener una matriz de 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 POST (en este caso, "nombre") directamente a través del objeto de solicitud, así:
$this->get('request')->request->get('name');
Sin embargo, tenga en cuenta 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 haber sido transformados por el marco del formulario.
Cuando desee acceder al token de formulario, debe usar la respuesta de Problematic
$postData = $request->request->get('contact');
porque getData()
elimina el elemento de la matriz
Symfony 2.3
desde 2.3 debería usar en handleRequest
lugar de bindRequest
:
$form->handleRequest($request);
ver documentación