user = $user; if ($ip) $this->ip = $ip; if ($useragent) $this->useragent = $useragent; } public static function get($user, $ip, $useragent) { if (self::$instance === null) self::$instance = new self($user, $ip, $useragent); return self::$instance; } public function getUser(): User { return $this->user; } public function getIP(): string { return $this->ip; } public function getUserAgent(): string { return $this->useragent; } public static function i() { return self::$instance; } }