username = $username; $this->data = []; } function isValid(): bool { return false; } private $username; function getUsername(): string { $username = $this->username; return $username !== null? $username: "INVALID"; } function validatePassword(string $password): bool { return false; } function getDisplayName(): ?string { return $this->username; } function getShortName(): ?string { return $this->username; } function getMail(): ?string { return null; } function getRole(): ?string { return null; } function isRole($roles): bool { return $roles === null || in_array(self::ROLE_ANON, A::with($roles)); } function isPerm($perm): bool { return $perm === null; } function has($key): bool { return false; } }