requests = new ArrayCollection(); $this->projects = new ArrayCollection(); $this->comments = new ArrayCollection(); } public function getId(): ?int { return $this->id; } /** * A visual identifier that represents this user. * * @see UserInterface */ public function getUsername(): string { return (string) $this->username; } public function setUsername(string $username): self { $this->username = $username; return $this; } /** * @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 UserInterface */ public function getPassword(): string { return (string) $this->password; } public function setPassword(string $password): self { $this->password = $password; return $this; } /** * @see UserInterface */ public function getSalt() { // not needed when using the "bcrypt" algorithm in security.yaml } /** * @see UserInterface */ public function eraseCredentials() { // If you store any temporary, sensitive data on the user, clear it here // $this->plainPassword = null; } /** * @return Collection|Request[] */ public function getRequests(): Collection { return $this->requests; } public function addRequest(Request $request): self { if (!$this->requests->contains($request)) { $this->requests[] = $request; $request->setAuthor($this); } return $this; } public function removeRequest(Request $request): self { if ($this->requests->contains($request)) { $this->requests->removeElement($request); // set the owning side to null (unless already changed) if ($request->getAuthor() === $this) { $request->setAuthor(null); } } return $this; } /** * @return Collection|Project[] */ public function getProjects(): Collection { return $this->projects; } public function addProject(Project $project): self { if (!$this->projects->contains($project)) { $this->projects[] = $project; $project->addUser($this); } return $this; } public function removeProject(Project $project): self { if ($this->projects->contains($project)) { $this->projects->removeElement($project); $project->removeUser($this); } return $this; } /** * @return Collection|Comment[] */ public function getComments(): Collection { return $this->comments; } public function addComment(Comment $comment): self { if (!$this->comments->contains($comment)) { $this->comments[] = $comment; $comment->setAuthor($this); } return $this; } public function removeComment(Comment $comment): self { if ($this->comments->contains($comment)) { $this->comments->removeElement($comment); // set the owning side to null (unless already changed) if ($comment->getAuthor() === $this) { $comment->setAuthor(null); } } return $this; } public function toArray(): array { return [ 'id' => $this->getId(), 'username' => $this->getUsername(), ]; } }