# Класс HttpSoft\Uri\UriData

Абстракция для удобного управления компонентами URI, используется внутри HttpSoft\Uri\Uri и HttpSoft\Uri\UriNormalizer.

Исходный код на GitHub.

use HttpSoft\Uri\UriData;

$uriData = new UriData();
$uriData->__toString(); // ''
(string) $uriData; // ''
echo $uriData; // ''

$uriData->setScheme('https');
$uriData->getScheme(); // 'https'
(string) $uriData; // 'https:'

$uriData->setHost('example.com');
$uriData->getHost(); // 'example.com'
(string) $uriData; // 'https://example.com'

$uriData->setPath('path/to/action');
$uriData->getPath(); // 'path/to/action'
(string) $uriData; // 'https://example.com/path/to/action'

$uriData->setQuery('query=string');
$uriData->getQuery(); // 'query=string'
(string) $uriData; // 'https://example.com/path/to/action?query=string'

$uriData->setFragment('fragment');
$uriData->getFragment(); // 'fragment'
(string) $uriData; // 'https://example.com/path/to/action?query=string#fragment'

$uriData->setPort(8080);
$uriData->getPort(); // 8080
(string) $uriData; 'https://example.com:8080/path/to/action?query=string#fragment'
// Если порт стандартный (80 при http-соединении или 443 при https-соединении), то он будет опущен.
$uriData->setPort(443);
$uriData->getPort(); // null
(string) $uriData; 'https://example.com/path/to/action?query=string#fragment'

$uriData->setUserInfo('user', 'pass');
$uriData->getUserInfo(); // 'user:pass'
$uriData->getAuthority(); // 'user:pass@example.com:8080'
(string) $uriData; // 'https://user:pass@example.com:8080/path/to/action?query=string#fragment'

# Публичные методы

# __toString

Возвращает строковое представление URI ('https://example.com/path', '/path', '').

public function __toString(): string;

# getScheme

Возвращает компонент схемы из URI ('http', 'https', '').

public function getScheme(): string;

# setScheme

Устанавливает компонент схемы в URI.

public function setScheme(string $scheme): void;

# getUserInfo

Возвращает компонент информации о пользователе из URI ('user:password', 'user', '').

public function getUserInfo(): string;

# setUserInfo

Устанавливает компонент информации о пользователе в URI.

public function setUserInfo(string $user, ?string $password = null): void;

# getHost

Возвращает компонент хоста из URI ('example.com', '127.0.0.1', '').

public function getHost(): string;

# setHost

Устанавливает компонент хоста в URI.

public function setHost(string $host): void;

# getPort

Возвращает компонент порта из URI (1, 65535, null).

public function getPort(): ?int;

# setPort

Устанавливает компонент порта в URI.

public function setPort(?int $port): void;

# getPath

Возвращает компонент пути из URI ('/path/to', 'path/to', '/', '').

public function getPath(): string;

# setPath

Устанавливает компонент пути в URI.

public function setPath(string $path): void;

# getQuery

Возвращает компонент строки запроса из URI ('key1=value1&key2=value2', 'key=value', '').

public function getQuery(): string;

# setQuery

Устанавливает компонент строки запроса в URI.

public function setQuery(string $query): void;

# getFragment

Возвращает компонент фрагмента (хеша) из URI ('any-string', '').

public function getFragment(): string;

# setFragment

Устанавливает компонент фрагмента (хеша) в URI.

public function setFragment(string $fragment): void;

# getAuthority

Возвращает компонент полномочий из URI ('user:pass@example.com:8080', 'example.com', '').

public function getAuthority(): string;