C'est bon pour moi.
Mon securityController.php:
<?php
namespace App\Controller;
use App\Entity\User;
use App\Form\RegisterType;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface;
class SecurityController extends AbstractController
{
private $passwordHasher;
public function __construct(UserPasswordHasherInterface $passwordHasher)
{
$this->passwordHasher = $passwordHasher;
}
#[Route('/register', name: 'security_register')]
public function register(Request $request, UserPasswordHasherInterface $encoder): Response
{
$user = new User();
$form = $this->createForm(RegisterType::class, $user);
// Analyse de la requête par le formulaire
$form->handleRequest($request);
if($form->isSubmitted() && $form->isValid()){
//Traitement des données reçues du formulaire
$user->setPassword($this->passwordHasher->hashPassword($user, $user->getPassword()));
$entityManager = $this->getDoctrine()->getManager();
$entityManager->persist($user);
$entityManager->flush();
return $this->redirectToRoute('home');
// dd($user);
}
return $this->render('security/index.html.twig', [
'controller_name' => "Formulaire d'inscription",
'form' => $form->createView(),
]);
}
}