Symfony 4 Formulaire non lié à une entité

Parfois on n’a besoin d’un formulaire simple, qui ne soit pas lié à une entité, comme par exemple une formulaire qui nous permet de sélectionner une date de départ et une date de fin pour extraire des données d’une table.

Exemple de formulaire non lié à une entité

use Symfony\Component\HttpFoundation\Request;
// ...

public function contact(Request $request)
{
    $defaultData = ['message' => 'Type your message here'];
    $form = $this->createFormBuilder($defaultData)
        ->add('date_debut', TextType::class)
        ->add('date_fin', EmailType::class)
        ->add('send', SubmitType::class)
        ->getForm();

    $form->handleRequest($request);

    if ($form->isSubmitted() && $form->isValid()) {
        // data is an array with "date_debut", "date_fin" keys
        $data = $form->getData();
    }

    // ... render the form
}

Ici ce qu’il faut retenir c’est comment extraire le contenu du formulaire soumis, grâce à la méthode getData().