phplibrary/src/Url.php

31 lines
No EOL
644 B
PHP

<?php
namespace ctiso;
class Url {
/** @var array<string, string> */
public array $parts = [];
public ?Url $parent;
/**
* @param Url|null $parent
*/
function setParent($parent): void {
$this->parent = $parent;
}
/**
* @param string[] $parts
*/
function setQuery(array $parts): void {
$this->parts = $parts;
}
function addQueryParam(string $key, ?string $value): void {
$this->parts[$key] = $value;
}
function toString(): string {
return '?' . http_build_query(array_merge($this->parts, $this->parent ? $this->parent->parts : []));
}
}