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.