public function __construct($uri = null)
{
if (empty($uri)) {
return;
}
if (is_string($uri)) {
$this->parts = parse_url($uri);
if (!empty($this->parts['query'])) {
$query = [];
parse_str($this->parts['query'], $query);
$this->parts['query'] = $query;
}
return;
}
if ($uri instanceof self) {
$this->parts = $uri->parts;
return;
}
if (is_array($uri)) {
$this->parts = $uri;
return;
}
}