token, $dto->user, $dto->createdAt, $dto->expiresAt ); $this->sessionsByToken[$dto->token] = $session; return $session; } public function findByToken(string $token): ?Session { if (! isset($this->sessionsByToken[$token])) { return null; } $stored = $this->sessionsByToken[$token]; return new Session( $stored->getToken(), $stored->getUser(), $stored->getCreatedAt(), $stored->getExpiresAt() ); } public function deleteByToken(string $token): void { unset($this->sessionsByToken[$token]); } }