src/Entity/User.php line 17
<?phpnamespace Cms\Entity;use Cms\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`')]#[ORM\ChangeTrackingPolicy('DEFERRED_EXPLICIT')]#[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: 'createdBy', targetEntity: Post::class)]private Collection $posts;#[ORM\Column(type: 'boolean')]private $isVerified = false;#[ORM\Column(length: 255)]private ?string $firstname = null;#[ORM\Column(length: 255)]private ?string $lastname = null;#[ORM\Column(length: 255, nullable: true)]private ?string $username = null;#[ORM\OneToMany(mappedBy: 'user', targetEntity: Platform::class, orphanRemoval: true)]private Collection $platforms;public function __construct(){$this->posts = new ArrayCollection();$this->platforms = new ArrayCollection();}public function getId(): ?int{return $this->id;}public function getEmail(): ?string{return $this->email;}public function setEmail(string $email): self{$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): self{$this->roles = $roles;return $this;}/*** @see PasswordAuthenticatedUserInterface*/public function getPassword(): string{return $this->password;}public function setPassword(string $password): self{$this->password = $password;return $this;}/*** @see UserInterface*/public function eraseCredentials(){// If you store any temporary, sensitive data on the user, clear it here// $this->plainPassword = null;}/*** @return Collection<int, Post>*/public function getPosts(): Collection{return $this->posts;}public function addPost(Post $post): self{if (!$this->posts->contains($post)) {$this->posts->add($post);$post->setCreatedBy($this);}return $this;}public function removePost(Post $post): self{if ($this->posts->removeElement($post)) {// set the owning side to null (unless already changed)if ($post->getCreatedBy() === $this) {$post->setCreatedBy(null);}}return $this;}public function isVerified(): bool{return $this->isVerified;}public function setIsVerified(bool $isVerified): self{$this->isVerified = $isVerified;return $this;}public function getFirstname(): ?string{return $this->firstname;}public function setFirstname(string $firstname): self{$this->firstname = $firstname;return $this;}public function getLastname(): ?string{return $this->lastname;}public function setLastname(string $lastname): self{$this->lastname = $lastname;return $this;}public function getUsername(): ?string{return $this->username;}public function setUsername(?string $username): self{$this->username = $username;return $this;}/*** @return Collection<int, Platform>*/public function getPlatforms(): Collection{return $this->platforms;}public function addPlatform(Platform $platform): self{if (!$this->platforms->contains($platform)) {$this->platforms->add($platform);$platform->setUser($this);}return $this;}public function removePlatform(Platform $platform): self{if ($this->platforms->removeElement($platform)) {// set the owning side to null (unless already changed)if ($platform->getUser() === $this) {$platform->setUser(null);}}return $this;}}