use Doctrine\ORM\Mapping as ORM; use Symfony\Component\Validator\Constraints as Assert; use Symfony\Component\Security\Core\User\UserInterface; use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity; /** * @ORM\Entity(repositoryClass="App\Repository\UserRepository") * @UniqueEntity( * fields = {"email"}, * message = "L'email indiqué est déjà utilisé" * ) */ Class User implements UserInterface { /** * @ORM\Id() * @ORM\GeneratedValue() * @ORM\Column(type="integer") */ private $id; /** * @ORM\Column(type="string", length=255) * @Assert\Email() */ private $email; /** * @ORM\Column(type="string", length=255) */ private $username; /** * @ORM\Column(type="string", length=255) * @Assert\Length( * min="8", * minMessage="Votre mot de passe doit comporter au minimum 8 caractères !" * ) */ private $password; /** * @Assert\Equalto( * propertyPath="password", * message="Vous n'avez pas tapé deux fois le même mot de passe !" * ) */ private $confirm_password; // Getters et setters pour les champs //*********************************** // ... // Implémentation des fonctions de UserInterface //********************************************** public function eraseCredentials() { } public function getSalt() { } public function getRoles() { return ['ROLE_USER']; } }