Post

Symfony – Créer un formulaire

Symfony – Créer un formulaire

Cours 20 — Créer un formulaire

Introduction

Symfony utilise des classes FormType pour créer et gérer les formulaires.

Un formulaire permet de saisir et de valider des données.


Créer un formulaire

Commande :

1
php bin/console make:form

Symfony demande :

1
The name of the form class:

Exemple :

1
PatientFormType

Résultat

Symfony crée le fichier :

1
src/Form/PatientFormType.php

Exemple simple

1
2
3
4
5
6
7
8
9
10
11
12
class PatientFormType extends AbstractType
{
    public function buildForm(
        FormBuilderInterface $builder,
        array $options
    ): void
    {
        $builder
            ->add('nom')
            ->add('prenom');
    }
}

Créer le formulaire dans le contrôleur

1
2
3
4
5
6
$patient = new Patient();

$form = $this->createForm(
    PatientFormType::class,
    $patient
);

Traiter la saisie

1
2
3
4
5
$form->handleRequest($request);

if ($form->isSubmitted() && $form->isValid()) {

}

Afficher le formulaire dans Twig

1
2
3
4
5
6
7
8
9
10
11
12
{{ form_start(form) }}

{{ form_row(form.nom) }}
{{ form_row(form.prenom) }}

<button type="submit">
    Valider
</button>

{{ form_end(form) }}


Comprendre le processus

1
2
3
4
5
6
7
8
9
FormType
↓
Contrôleur
↓
handleRequest()
↓
isValid()
↓
Base de données

Conclusion

Pour créer un formulaire :

  • créer un FormType ;
  • créer le formulaire dans le contrôleur ;
  • traiter la requête ;
  • afficher le formulaire dans Twig.

Méthodes à retenir :

1
2
3
4
createForm()
handleRequest()
isSubmitted()
isValid()
This post is licensed under CC BY 4.0 by the author.