src/Entity/User.php line 22

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\UserRepository;
  4. use Doctrine\ORM\Mapping as ORM;
  5. use Symfony\Component\Security\Core\User\UserInterface;  
  6. use Symfony\Component\Validator\Constraints as Assert;
  7. use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
  8. /**
  9.  * @ORM\Entity(repositoryClass="UserRepository", repositoryClass=UserRepository::class)
  10.  * @ORM\Table(name="`user`")
  11.  * @ORM\InheritanceType("SINGLE_TABLE")
  12.  * ORM\DiscriminatorColumn(name="discr", type="string")
  13.  * ORM\DiscriminatorMap({"user" = "User","user_administrateur" = "Administrateur"})
  14.  * @UniqueEntity(
  15.  *     fields={"email"},
  16.  *     message="ce mail existe déjà"
  17.  * )
  18.  */
  19. class User implements UserInterface
  20. {
  21.     /**
  22.      * @ORM\Id
  23.      * @ORM\GeneratedValue
  24.      * @ORM\Column(type="integer")
  25.      */
  26.     private $id;
  27.     /** 
  28.      * @Assert\NotBlank(message="Veuillez saisir un e-mail")
  29.      * @Assert\Email()
  30.      * @ORM\Column(type="string", length=180, unique=true)
  31.      */
  32.     private $email;
  33.     /**
  34.      * @ORM\Column(type="json")
  35.      */
  36.     private $roles = [];
  37.     /**
  38.      * @var string The hashed password
  39.      * @ORM\Column(type="string")
  40.      */
  41.     private $password;
  42.     /**
  43.      * @Assert\NotBlank()
  44.      * @ORM\Column(type="string", length=255, nullable=true)
  45.      */
  46.     private $nom;
  47.     /**
  48.      * @Assert\NotBlank()
  49.      * @ORM\Column(type="string", length=255, nullable=true)
  50.      */
  51.     private $prenom
  52.     
  53.     /**
  54.      * @ORM\Column(type="boolean", nullable=true)
  55.      */
  56.     protected $enabled;
  57.     public function __toString()
  58.     {
  59.         return $this->nom." ".$this->prenom;
  60.     }
  61.     public function getId(): ?int
  62.     {
  63.         return $this->id;
  64.     }
  65.     public function getEmail(): ?string
  66.     {
  67.         return $this->email;
  68.     }
  69.     public function setEmail(string $email): self
  70.     {
  71.         $this->email $email;
  72.         return $this;
  73.     }
  74.     /**
  75.      * A visual identifier that represents this user.
  76.      *
  77.      * @see UserInterface
  78.      */
  79.     public function getUsername(): string
  80.     {
  81.         return (string) $this->email;
  82.     }
  83.     /**
  84.      * @see UserInterface
  85.      */
  86.     public function getRoles(): array
  87.     {
  88.         $roles $this->roles;
  89.         // guarantee every user at least has ROLE_USER
  90.         $roles[] = 'ROLE_USER';
  91.         return array_unique($roles);
  92.     }
  93.     public function setRoles(array $roles): self
  94.     {
  95.         $this->roles $roles;
  96.         return $this;
  97.     }
  98.     /**
  99.      * @see UserInterface
  100.      */
  101.     public function getPassword(): string
  102.     {
  103.         return (string) $this->password;
  104.     }
  105.     public function setPassword(string $password): self
  106.     {
  107.         $this->password $password;
  108.         return $this;
  109.     }
  110.     /**
  111.      * Returning a salt is only needed, if you are not using a modern
  112.      * hashing algorithm (e.g. bcrypt or sodium) in your security.yaml.
  113.      *
  114.      * @see UserInterface
  115.      */
  116.     public function getSalt(): ?string
  117.     {
  118.         return null;
  119.     }
  120.     /**
  121.      * @see UserInterface
  122.      */
  123.     public function eraseCredentials()
  124.     {
  125.         // If you store any temporary, sensitive data on the user, clear it here
  126.         // $this->plainPassword = null;
  127.     }
  128.     public function getNom(): ?string
  129.     {
  130.         return $this->nom;
  131.     }
  132.     public function setNom(?string $nom): self
  133.     {
  134.         $this->nom $nom;
  135.         return $this;
  136.     }
  137.     public function getPrenom(): ?string
  138.     {
  139.         return $this->prenom;
  140.     }
  141.     public function setPrenom(?string $prenom): self
  142.     {
  143.         $this->prenom $prenom;
  144.         return $this;
  145.     }
  146.     public function getEnabled(): ?bool
  147.     {
  148.         return $this->enabled;
  149.     }
  150.     public function setEnabled(?bool $enabled): self
  151.     {
  152.         $this->enabled $enabled;
  153.         return $this;
  154.     }
  155. }