class Url implements JsonSerializable

Mutable representation of a URL.

scheme  user  password  host  port      path        query    fragment
  |      |      |        |      |        |            |         |
/--\   /--\ /------\ /-------\ /--\/------------\ /--------\ /------\
http://john:x0y17575@nette.org:8042/en/manual.php?name=param#fragment  <-- absoluteUrl
\______\__________________________/
    |               |
 hostUrl        authority

Properties

static $defaultPorts
string $scheme
string $user
string $password
string $host
int $port
string $path
string $query
string $fragment
string read-only $absoluteUrl
string read-only $authority
string read-only $hostUrl
array read-only $queryParameters

Methods

__construct(UrlImmutable|null $url = null)

No description

Url
setScheme(string $scheme)

No description

string
getScheme()

No description

Url
setUser(string $user)

No description

string
getUser()

No description

Url
setPassword(string $password)

No description

string
getPassword()

No description

Url
setHost(string $host)

No description

string
getHost()

No description

string
getDomain(int $level = 2)

Returns the part of domain.

Url
setPort(int $port)

No description

int|null
getPort()

No description

int|null
getDefaultPort()

No description

Url
setPath(string $path)

No description

string
getPath()

No description

Url
setQuery(string|array $query)

No description

Url
appendQuery(string|array $query)

No description

string
getQuery()

No description

array
getQueryParameters()

No description

mixed
getQueryParameter(string $name)

No description

Url
setQueryParameter(string $name, mixed $value)

No description

Url
setFragment(string $fragment)

No description

string
getFragment()

No description

string
getAbsoluteUrl()

No description

string
getAuthority()

Returns the [user[:pass]@]host[:port] part of URI.

string
getHostUrl()

Returns the scheme and authority part of URI.

string
getBasePath()

No description

string
getBaseUrl()

No description

string
getRelativeUrl()

No description

bool
isEqual(UrlImmutable $url)

URL comparison.

Url
canonicalize()

Transforms URL to canonical form.

string
__toString()

No description

string
jsonSerialize()

No description

array
export()

No description

static string
unescape(string $s, string $reserved = '%;/?:@&=+$,')

Similar to rawurldecode, but preserves reserved chars encoded.

static array
parseQuery(string $s)

Parses query string. Is affected by directive arg_separator.input.

static bool
isAbsolute(string $url)

Determines if URL is absolute, ie if it starts with a scheme followed by colon.

static string
removeDotSegments(string $path)

Normalizes a path by handling and removing relative path references like '.', '..' and directory traversal.

Details

at line 66
__construct(UrlImmutable|null $url = null)

No description

Parameters

UrlImmutable|null $url

Exceptions

InvalidArgumentException

at line 89
Url setScheme(string $scheme)

No description

Parameters

string $scheme

Return Value

Url

at line 96
string getScheme()

No description

Return Value

string

at line 102
Url setUser(string $user)

No description

Parameters

string $user

Return Value

Url

at line 111
string getUser()

No description

Return Value

string

at line 119
Url setPassword(string $password)

No description

Parameters

string $password

Return Value

Url

at line 128
string getPassword()

No description

Return Value

string

at line 136
Url setHost(string $host)

No description

Parameters

string $host

Return Value

Url

at line 144
string getHost()

No description

Return Value

string

at line 153
string getDomain(int $level = 2)

Returns the part of domain.

Parameters

int $level

Return Value

string

at line 165
Url setPort(int $port)

No description

Parameters

int $port

Return Value

Url

at line 172
int|null getPort()

No description

Return Value

int|null

at line 178
int|null getDefaultPort()

No description

Return Value

int|null

at line 184
Url setPath(string $path)

No description

Parameters

string $path

Return Value

Url

at line 195
string getPath()

No description

Return Value

string

at line 201
Url setQuery(string|array $query)

No description

Parameters

string|array $query

Return Value

Url

at line 208
Url appendQuery(string|array $query)

No description

Parameters

string|array $query

Return Value

Url

at line 217
string getQuery()

No description

Return Value

string

at line 223
array getQueryParameters()

No description

Return Value

array

at line 229
mixed getQueryParameter(string $name)

No description

Parameters

string $name

Return Value

mixed

at line 235
Url setQueryParameter(string $name, mixed $value)

No description

Parameters

string $name
mixed $value

Return Value

Url

at line 242
Url setFragment(string $fragment)

No description

Parameters

string $fragment

Return Value

Url

at line 249
string getFragment()

No description

Return Value

string

at line 255
string getAbsoluteUrl()

No description

Return Value

string

at line 266
string getAuthority()

Returns the [user[:pass]@]host[:port] part of URI.

Return Value

string

at line 283
string getHostUrl()

Returns the scheme and authority part of URI.

Return Value

string

at line 290
string getBasePath()

No description

Return Value

string

at line 299
string getBaseUrl()

No description

Return Value

string

at line 307
string getRelativeUrl()

No description

Return Value

string

at line 318
bool isEqual(UrlImmutable $url)

URL comparison.

Parameters

UrlImmutable $url

Return Value

bool

at line 342
Url canonicalize()

Transforms URL to canonical form.

Return Value

Url

at line 355
string __toString()

No description

Return Value

string

at line 361
string jsonSerialize()

No description

Return Value

string

at line 368
final array export()

internal  
 

No description

Return Value

array

at line 394
static string unescape(string $s, string $reserved = '%;/?:@&=+$,')

Similar to rawurldecode, but preserves reserved chars encoded.

Parameters

string $s
string $reserved

Return Value

string

at line 414
static array parseQuery(string $s)

Parses query string. Is affected by directive arg_separator.input.

Parameters

string $s

Return Value

array

at line 427
static bool isAbsolute(string $url)

Determines if URL is absolute, ie if it starts with a scheme followed by colon.

Parameters

string $url

Return Value

bool

at line 436
static string removeDotSegments(string $path)

Normalizes a path by handling and removing relative path references like '.', '..' and directory traversal.

Parameters

string $path

Return Value

string

Traits

SmartObject