parent = $parent; } function setQuery($parts) { $this->parts = $parts; } function addQueryParam($key, $value) { $this->parts[$key] = $value; } function toString() { return '?' . http_build_query(array_merge($this->parts, $this->parent ? $this->parent->parts : [])); } }