src/Form/LostPassType.php line 14

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use Symfony\Component\Form\AbstractType;
  4. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  5. use Symfony\Component\Form\Extension\Core\Type\PasswordType;
  6. use Symfony\Component\Form\Extension\Core\Type\SubmitType;
  7. use Symfony\Component\Form\FormBuilderInterface;
  8. use Symfony\Component\Form\FormEvent;
  9. use Symfony\Component\Form\FormEvents;
  10. use Symfony\Component\OptionsResolver\OptionsResolver;
  11. class LostPassType extends AbstractType
  12. {
  13.     public function buildForm(FormBuilderInterface $builder, array $options)
  14.     {
  15.         $builder
  16.             ->add('email'EmailType::class, [
  17.             ])
  18.             ->add('Enregistrer'SubmitType::class, [
  19.                 'label' => "Envoyer moi le mail de récupération "
  20.             ]);
  21.         // On ajoute une fonction qui va écouter un évènement
  22.         $builder->addEventListener(
  23.             FormEvents::PRE_SET_DATA,
  24.             function (FormEvent $event) { // La fonction à exécuter lorsque l'évènement est déclenché
  25.                 // On récupère notre objet User sous-jacent
  26.                 $user $event->getData();
  27.                 if (null === $user) {
  28.                     return; // On sort de la fonction sans rien faire lorsque $user vaut null
  29.                 }
  30.             }
  31.         );
  32.     }
  33.     public function configureOptions(OptionsResolver $resolver)
  34.     {
  35.         $resolver->setDefaults(array(
  36.             'data_class' => 'App\Entity\User'
  37.         ));
  38.     }
  39. }