Symfony Forms Cookbook
Basic form building
Build a form object and render it in a template from within a controller:[1]
// src/AppBundle/Controller/DefaultController.php
namespace AppBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use AppBundle\Entity\Task;
use Symfony\Component\HttpFoundation\Request;
class DefaultController extends Controller
{
public function newAction(Request $request)
{
// create a task and give it some dummy data for this example
$task = new Task();
$task->setTask('Write a blog post');
$task->setDueDate(new \DateTime('tomorrow'));
$form = $this->createFormBuilder($task)
->add('task', 'text')
->add('dueDate', 'date')
->add('save', 'submit', array('label' => 'Create Task'))
->getForm();
return $this->render('Default/new.html.twig', array(
'form' => $form->createView(),
));
}
}
Render a form
After passing a form "view" object to a Twig template, the form can be rendered with form helper functions:[2]
{# app/Resources/views/Default/new.html.twig #}
{{ form_start(form) }}
{{ form_widget(form) }}
{{ form_end(form) }}
- ↑ Building The Form, Symfony forms documentation
- ↑ Rendering The Form, Symfony forms documentation