src/Entity/User.php line 16
<?phpnamespace App\Entity;use App\Repository\UserRepository;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use Doctrine\ORM\Mapping as ORM;use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;use Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface;use Symfony\Component\Security\Core\User\UserInterface;#[ORM\Entity(repositoryClass: UserRepository::class)]#[ORM\Table(name: '`user`')]#[UniqueEntity(fields: ['email'], message: 'There is already an account with this email')]class User implements UserInterface, PasswordAuthenticatedUserInterface{#[ORM\Id]#[ORM\GeneratedValue]#[ORM\Column]private ?int $id = null;#[ORM\Column(length: 180, unique: true)]private ?string $email = null;#[ORM\Column]private array $roles = [];/*** @var string The hashed password*/#[ORM\Column]private ?string $password = null;#[ORM\OneToMany(mappedBy: 'user', targetEntity: UserProjets::class)]private Collection $userProjets;#[ORM\OneToMany(mappedBy: 'user', targetEntity: Commentaires::class)]private Collection $commentaires;#[ORM\OneToOne(cascade: ['persist', 'remove'])]#[ORM\JoinColumn(nullable: false)]private ?UserInfos $userInfos = null;public function __construct(){$this->userProjets = new ArrayCollection();$this->commentaires = new ArrayCollection();}public function getId(): ?int{return $this->id;}public function getEmail(): ?string{return $this->email;}public function setEmail(string $email): static{$this->email = $email;return $this;}/*** A visual identifier that represents this user.** @see UserInterface*/public function getUserIdentifier(): string{return (string) $this->email;}/*** @see UserInterface*/public function getRoles(): array{$roles = $this->roles;// guarantee every user at least has ROLE_USER$roles[] = 'ROLE_USER';return array_unique($roles);}public function setRoles(array $roles): static{$this->roles = $roles;return $this;}/*** @see PasswordAuthenticatedUserInterface*/public function getPassword(): string{return $this->password;}public function setPassword(string $password): static{$this->password = $password;return $this;}/*** @see UserInterface*/public function eraseCredentials(): void{// If you store any temporary, sensitive data on the user, clear it here// $this->plainPassword = null;}/*** @return Collection<int, UserProjets>*/public function getUserProjets(): Collection{return $this->userProjets;}public function addUserProjet(UserProjets $userProjet): self{if (!$this->userProjets->contains($userProjet)) {$this->userProjets->add($userProjet);$userProjet->setUser($this);}return $this;}public function removeUserProjet(UserProjets $userProjet): self{if ($this->userProjets->removeElement($userProjet)) {// set the owning side to null (unless already changed)if ($userProjet->getUser() === $this) {$userProjet->setUser(null);}}return $this;}/*** @return Collection<int, Commentaires>*/public function getCommentaires(): Collection{return $this->commentaires;}public function addCommentaire(Commentaires $commentaire): self{if (!$this->commentaires->contains($commentaire)) {$this->commentaires->add($commentaire);$commentaire->setUser($this);}return $this;}public function removeCommentaire(Commentaires $commentaire): self{if ($this->commentaires->removeElement($commentaire)) {// set the owning side to null (unless already changed)if ($commentaire->getUser() === $this) {$commentaire->setUser(null);}}return $this;}public function getUserInfos(): ?UserInfos{return $this->userInfos;}public function setUserInfos(UserInfos $userInfos): self{$this->userInfos = $userInfos;return $this;}}