confirmationToken; } public function setConfirmationToken(?string $confirmationToken): self { $this->confirmationToken = $confirmationToken; return $this; } public function getConfirmationExpiresAt(): ?\DateTimeInterface { return $this->confirmationExpiresAt; } public function setConfirmationExpiresAt(?\DateTimeInterface $confirmationExpiresAt): self { $this->confirmationExpiresAt = $confirmationExpiresAt; return $this; } /** * Test if the token is still valid. */ public function isConfirmationTokenExpired(\DateTimeInterface $now): bool { return $now > $this->getConfirmationExpiresAt(); } /** * Reset all properties after a successful confirmation. */ public function resetConfirmation(): void { $this->setConfirmationToken(null); $this->setConfirmationExpiresAt(null); } /** * Mark the email as confirmed, user can now login. */ public function confirmEmail(): void { $this->setEmailConfirmed(true); } }