src/Form/LoginType.php line 18

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use Symfony\Component\Form\AbstractType;
  4. use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
  5. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  6. use Symfony\Component\Form\Extension\Core\Type\HiddenType;
  7. use Symfony\Component\Form\Extension\Core\Type\PasswordType;
  8. use Symfony\Component\Form\Extension\Core\Type\SubmitType;
  9. use Symfony\Component\Form\FormBuilderInterface;
  10. use Symfony\Component\OptionsResolver\OptionsResolver;
  11. use Symfony\Component\Security\Csrf\CsrfTokenManagerInterface;
  12. /**
  13.  * Class LoginType.
  14.  */
  15. class LoginType extends AbstractType
  16. {
  17.     private CsrfTokenManagerInterface $csrfTokenManager;
  18.     /**
  19.      * LoginType constructor.
  20.      *
  21.      * @param CsrfTokenManagerInterface $csrfTokenManager
  22.      */
  23.     public function __construct(CsrfTokenManagerInterface $csrfTokenManager)
  24.     {
  25.         $this->csrfTokenManager $csrfTokenManager;
  26.     }
  27.     public function buildForm(FormBuilderInterface $builder, array $options)
  28.     {
  29.         $builder
  30.             ->add('email'EmailType::class, [
  31.                 'label' => 'user.email',
  32.                 'data' => $options['lastUsername'],
  33.                 'attr' => [
  34.                     'placeholder' => 'user.email',
  35.                 ],
  36.             ])
  37.             ->add('password'PasswordType::class, [
  38.                 'label' => 'user.password',
  39.                 'attr' => [
  40.                     'placeholder' => 'user.password',
  41.                 ],
  42.             ])
  43.             ->add('remember_me'HiddenType::class, [
  44.                 'label' => 'general.remember',
  45.                 'required' => false,
  46.                 'label_attr' => [
  47.                     'class' => 'remember'
  48.                 ],
  49.             ])
  50.             ->add('_csrf_token'HiddenType::class, [
  51.                 'data' => $this->csrfTokenManager->getToken('authenticate'),
  52.             ])
  53.         ;
  54.     }
  55.     public function configureOptions(OptionsResolver $resolver)
  56.     {
  57.         $resolver->setDefaults([
  58.             'lastUsername' => null
  59.         ]);
  60.     }
  61.     public function getBlockPrefix()
  62.     {
  63.         return '';
  64.     }
  65. }