queryParams)) { $queryString .= '?'; $i = 0; foreach($this->queryParams as $paramArr) { $paramName = $paramArr['paramName']; $paramVal = $paramArr['paramValue']; if($i > 0) { $queryString .= '&'; } $queryString .= $paramName . '=' . $paramVal; ++$i; } } return $queryString; } /** * @return string */ public function getFullURL() { if(null === ($this->domain)) { throw new \RuntimeException('No domain-name set.'); } if(null === ($this->protocol)) { throw new \RuntimeException('No protocol set.'); } //Protocol $url = $this->protocol . '://'; //User/Pass if(null !== $this->user) { $url .= $this->user . ':'; if(null !== $this->password) { $url .= $this->password; } $url .= '@'; } //Domain $url .= $this->domain; //Port if(null !== $this->port) { $url .= ':' . $this->port; } //Path if(null !== $this->path) { $url .= $this->path; } //QueryString if(null !== $this->queryParams) { $url .= $this->getQueryString(); } //Anchor if(null !== $this->anchor) { $url .= '#' . $this->anchor; } return $url; } }