src/Entity/User.php line 13

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\Security\Core\User\PasswordAuthenticatedUserInterface;
  7. /**
  8.  * @ORM\Entity(repositoryClass=UserRepository::class)
  9.  */
  10. class User implements UserInterfacePasswordAuthenticatedUserInterface
  11. //class User implements UserInterface
  12. {
  13.     /**
  14.      * @ORM\Id
  15.      * @ORM\GeneratedValue
  16.      * @ORM\Column(type="integer")
  17.      */
  18.     private $id;
  19.     /**
  20.      * @ORM\Column(type="string", length=180, nullable=true)
  21.      */
  22.     private $pseudo;
  23.     /**
  24.      * @ORM\Column(type="string", length=180, unique=true)
  25.      */
  26.     private $email;
  27.     /**
  28.      * @ORM\Column(type="boolean")
  29.      */
  30.     private $enabled true;
  31.     /**
  32.      * @ORM\Column(type="json")
  33.      */
  34.     private $roles = [];
  35.     /**
  36.      * @var string The hashed password
  37.      * @ORM\Column(type="string")
  38.      */
  39.     private $password;
  40.     private ?string $plainPassword '';
  41.     /**
  42.      * @ORM\Column(type="datetime", nullable=true)
  43.      */
  44.     private \DateTime $createdAt;
  45.     public function __construct()
  46.     {
  47.         $this->createdAt = new \DateTime();
  48.     }
  49.     public function getId(): ?int
  50.     {
  51.         return $this->id;
  52.     }
  53.     public function getEmail(): ?string
  54.     {
  55.         return $this->email;
  56.     }
  57.     public function setEmail(string $email): self
  58.     {
  59.         $this->email $email;
  60.         return $this;
  61.     }
  62.     /**
  63.      * A visual identifier that represents this user.
  64.      *
  65.      * @see UserInterface
  66.      */
  67.     public function getUsername(): string
  68.     {
  69.         return (string) $this->email;
  70.     }
  71.     /**
  72.      * @see UserInterface
  73.      */
  74.     public function getRoles(): array
  75.     {
  76.         $roles $this->roles;
  77.         // guarantee every user at least has ROLE_USER
  78.         $roles[] = 'ROLE_USER';
  79.         return array_unique($roles);
  80.     }
  81.     public function setRoles(array $roles): self
  82.     {
  83.         $this->roles $roles;
  84.         return $this;
  85.     }
  86.     /**
  87.      * @see UserInterface
  88.      */
  89.     public function getPassword(): string
  90.     {
  91.         return $this->password;
  92.     }
  93.     public function setPassword(string $password): self
  94.     {
  95.         $this->password $password;
  96.         return $this;
  97.     }
  98.     /**
  99.      * Returning a salt is only needed, if you are not using a modern
  100.      * hashing algorithm (e.g. bcrypt or sodium) in your security.yaml.
  101.      *
  102.      * @see UserInterface
  103.      */
  104.     public function getSalt(): ?string
  105.     {
  106.         return null;
  107.     }
  108.     /**
  109.      * @see UserInterface
  110.      */
  111.     public function eraseCredentials()
  112.     {
  113.         // If you store any temporary, sensitive data on the user, clear it here
  114.         // $this->plainPassword = null;
  115.     }
  116.     public function getCreatedAt(): \DateTime
  117.     {
  118.         return $this->createdAt;
  119.     }
  120.     public function setCreatedAt(\DateTime $createdAt): void
  121.     {
  122.         $this->createdAt $createdAt;
  123.     }
  124.     public function isEnabled(): bool
  125.     {
  126.         return $this->enabled;
  127.     }
  128.     public function setEnabled(bool $enabled): void
  129.     {
  130.         $this->enabled $enabled;
  131.     }
  132.     public function getPseudo()
  133.     {
  134.         return $this->pseudo;
  135.     }
  136.     public function setPseudo($pseudo): void
  137.     {
  138.         $this->pseudo $pseudo;
  139.     }
  140.     public function getPlainPassword(): string
  141.     {
  142.         return $this->plainPassword !== null $this->plainPassword '';
  143.     }
  144.     public function setPlainPassword(?string $plainPassword): void
  145.     {
  146.         $this->plainPassword $plainPassword;
  147.     }
  148. }