All Available Url Components
Below is a list of all components the Url class takes care of. The highlighted part in the example url shows what the component returns.
scheme
https ://john:123@subdomain.example.com:8080/foo?bar=baz#anchor
user
https://
john :123@subdomain.example.com:8080/foo?bar=baz#anchor
pass (or password = alias of pass)
https://john:
123 @subdomain.example.com:8080/foo?bar=baz#anchor
host
https://john:123@
subdomain.example.com :8080/foo?bar=baz#anchor
domain
https://john:123@subdomain.
example.com :8080/foo?bar=baz#anchor
domainLabel
https://john:123@subdomain.
example .com:8080/foo?bar=baz#anchor
domainSuffix
https://john:123@subdomain.example.
com :8080/foo?bar=baz#anchor
subdomain
https://john:123@
subdomain .example.com:8080/foo?bar=baz#anchor
port
https://john:123@subdomain.example.com:
8080 /foo?bar=baz#anchor
path
https://john:123@subdomain.example.com:8080
/foo ?bar=baz#anchor
query
https://john:123@subdomain.example.com:8080/foo?
bar=baz #anchor
fragment
https://john:123@subdomain.example.com:8080/foo?bar=baz#
anchor
When a component is not present in a url (e.g. it doesn't contain user and
password) the corresponding properties will return NULL
.
Combinations of components
root
There are situations where it can be very helpful to get the root
as it's
called here. It returns everything that comes before the path component.
$url = Url::parse('https://www.example.com:8080/foo?bar=baz');
$root = $url->root(); // => "https://www.example.com:8080"
relative
Complementary to the root
you can also retrieve all components starting from
the path (path, query and fragment) combined, via the relative
property.
It's called relative
because it's like a relative url (without scheme and
host information).
$url = Url::parse('https://www.example.com/foo?bar=baz#anchor');
$relative = $url->relative(); // => "/foo?bar=baz#anchor"