diff --git a/appendices/extensions.xml b/appendices/extensions.xml
index 3434c95e8c14..28202c591c88 100644
--- a/appendices/extensions.xml
+++ b/appendices/extensions.xml
@@ -163,6 +163,7 @@
+
@@ -228,6 +229,7 @@
+
diff --git a/language-snippets.ent b/language-snippets.ent
index 0cd4af3d9e1c..1da257f85a08 100644
--- a/language-snippets.ent
+++ b/language-snippets.ent
@@ -4736,6 +4736,19 @@ local: {
'>
+
+
+ If the resulting URI is invalid, a Uri\InvalidUriException is thrown.
+
+'>
+
+
+ If the resulting URL is invalid, a Uri\WhatWg\InvalidUrlException is thrown.
+
+'>
+
+
+
+ URI
+ URI
+
+
+ &reftitle.intro;
+
+ This chapter describes the functions that allow you to work with
+ Uniform Resource Identifiers (URIs). A URI is a string of characters
+ used to identify a resource. URIs are used in web technologies to
+ identify resources on the Internet.
+
+
+ URI implements RFC 3986, Uniform Resource Identifier (URI): Generic Syntax,
+ which can be found at http://www.ietf.org/rfc/rfc3986.txt.
+ And WHATWG URL Standard, which can be found at
+ https://url.spec.whatwg.org/.
+
+
+
+ &reference.uri.uri.invaliduriexception;
+ &reference.uri.uri.urierror;
+ &reference.uri.uri.uriexception;
+
+ &reference.uri.uri.rfc3986.uri;
+
+ &reference.uri.uri.whatwg.invalidurlexception;
+ &reference.uri.uri.whatwg.url;
+ &reference.uri.uri.whatwg.urlvalidationerror;
+
+
diff --git a/reference/uri/rfc3986/uri/construct.xml b/reference/uri/rfc3986/uri/construct.xml
new file mode 100644
index 000000000000..feade3c05c93
--- /dev/null
+++ b/reference/uri/rfc3986/uri/construct.xml
@@ -0,0 +1,78 @@
+
+
+
+ Uri\Rfc3986\Uri::__construct
+ Construct the Uri object
+
+
+
+ &reftitle.description;
+
+ public Uri\Rfc3986\Uri::__construct
+ stringuri
+ Uri\Rfc3986\UrinullbaseUrl&null;
+
+
+ Constructs the Uri\Rfc3986\Uri object.
+
+
+
+
+ &reftitle.parameters;
+
+
+ uri
+
+
+ URI to parse.
+
+
+
+
+ baseUrl
+
+
+ When a &string; is passed, uri is applied on
+ baseUrl, if uri is a relative reference.
+ If either &null; is passed, or uri is a not a relative reference, then
+ baseUrl doesn't have any effect.
+
+
+
+
+
+
+
+ &reftitle.errors;
+ &uri.errors.invalidUriException;
+
+
+
+ &reftitle.seealso;
+
+ Uri\Rfc3986\Uri::parse
+ Uri\Rfc3986\Uri::resolve
+ Uri\WhatWg\Url::__construct
+
+
+
+
diff --git a/reference/uri/rfc3986/uri/debuginfo.xml b/reference/uri/rfc3986/uri/debuginfo.xml
new file mode 100644
index 000000000000..305d0d9c37aa
--- /dev/null
+++ b/reference/uri/rfc3986/uri/debuginfo.xml
@@ -0,0 +1,57 @@
+
+
+
+ Uri\Rfc3986\Uri::__debugInfo
+ Return the internal state of the URI
+
+
+
+ &reftitle.description;
+
+ public arrayUri\Rfc3986\Uri::__debugInfo
+
+
+
+ Returns the internal state of the URI.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the internal state of the URI as an &array;.
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\WhatWg\Url::__debugInfo
+
+
+
+
diff --git a/reference/uri/rfc3986/uri/equals.xml b/reference/uri/rfc3986/uri/equals.xml
new file mode 100644
index 000000000000..250c985a4816
--- /dev/null
+++ b/reference/uri/rfc3986/uri/equals.xml
@@ -0,0 +1,100 @@
+
+
+
+ Uri\Rfc3986\Uri::equals
+ Check if two URIs are equivalent
+
+
+
+ &reftitle.description;
+
+ public boolUri\Rfc3986\Uri::equals
+ Uri\Rfc3986\Uriuri
+ Uri\UriComparisonModecomparisonModeUri\UriComparisonMode::ExcludeFragment
+
+
+ Checks if two URIs are equivalent.
+
+
+
+
+ &reftitle.parameters;
+
+
+ uri
+
+
+ URI to compare the current URI against.
+
+
+
+
+ comparisonMode
+
+
+ Whether the fragment component is taken into account of the comparison
+ (Uri\UriComparisonMode::IncludeFragment) or not
+ (Uri\UriComparisonMode::ExcludeFragment). By default, the fragment is excluded.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ Returns &true; if the two URIs are equivalent, or &false; otherwise.
+
+
+
+
+ &reftitle.examples;
+
+ Uri\Rfc3986\Uri::equals basic example
+
+equals($uri2));
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\WhatWg\Url::equals
+
+
+
+
diff --git a/reference/uri/rfc3986/uri/getfragment.xml b/reference/uri/rfc3986/uri/getfragment.xml
new file mode 100644
index 000000000000..0fecabee30e8
--- /dev/null
+++ b/reference/uri/rfc3986/uri/getfragment.xml
@@ -0,0 +1,81 @@
+
+
+
+ Uri\Rfc3986\Uri::getFragment
+ Retrieve the normalized fragment component
+
+
+
+ &reftitle.description;
+
+ public stringnullUri\Rfc3986\Uri::getFragment
+
+
+
+ Retrieves the normalized fragment component.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the normalized fragment component as a &string; if the fragment component exists, &null; is returned otherwise.
+
+
+
+
+ &reftitle.examples;
+
+ Uri\Rfc3986\Uri::getFragment basic example
+
+getFragment();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\Rfc3986\Uri::getRawFragment
+ Uri\Rfc3986\Uri::withFragment
+ Uri\WhatWg\Url::getFragment
+
+
+
+
diff --git a/reference/uri/rfc3986/uri/gethost.xml b/reference/uri/rfc3986/uri/gethost.xml
new file mode 100644
index 000000000000..4a033e4bfea9
--- /dev/null
+++ b/reference/uri/rfc3986/uri/gethost.xml
@@ -0,0 +1,82 @@
+
+
+
+ Uri\Rfc3986\Uri::getHost
+ Retrieve the normalized host component
+
+
+
+ &reftitle.description;
+
+ public stringnullUri\Rfc3986\Uri::getHost
+
+
+
+ Retrieves the normalized host component.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the normalized host component as a &string; if the host component exists, &null; is returned otherwise.
+
+
+
+
+ &reftitle.examples;
+
+ Uri\Rfc3986\Uri::getHost basic example
+
+getHost();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\Rfc3986\Uri::getRawHost
+ Uri\Rfc3986\Uri::withHost
+ Uri\WhatWg\Url::getAsciiHost
+ Uri\WhatWg\Url::getUnicodeHost
+
+
+
+
diff --git a/reference/uri/rfc3986/uri/getpassword.xml b/reference/uri/rfc3986/uri/getpassword.xml
new file mode 100644
index 000000000000..30fc63911468
--- /dev/null
+++ b/reference/uri/rfc3986/uri/getpassword.xml
@@ -0,0 +1,86 @@
+
+
+
+ Uri\Rfc3986\Uri::getPassword
+ >Retrieve the normalized password
+
+
+
+ &reftitle.description;
+
+ public stringnullUri\Rfc3986\Uri::getPassword
+
+
+
+ Retrieves the normalized password part (the text after the first : character)
+ from the userinfo component.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the normalized password as a &string; if the userinfo component contains a : character.
+ An empty string is returned when the userinfo component doesn't contain a : character.
+ &null; is returned when the userinfo component doesn't exist.
+
+
+
+
+ &reftitle.examples;
+
+ Uri\Rfc3986\Uri::getPassword basic example
+
+getPassword();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\Rfc3986\Uri::getRawPassword
+ Uri\Rfc3986\Uri::getRawUserInfo
+ Uri\Rfc3986\Uri::getUserInfo
+ Uri\Rfc3986\Uri::withPassword
+ Uri\WhatWg\Url::getPassword
+
+
+
+
diff --git a/reference/uri/rfc3986/uri/getpath.xml b/reference/uri/rfc3986/uri/getpath.xml
new file mode 100644
index 000000000000..eaf6a3f9dacf
--- /dev/null
+++ b/reference/uri/rfc3986/uri/getpath.xml
@@ -0,0 +1,81 @@
+
+
+
+ Uri\Rfc3986\Uri::getPath
+ >Retrieve the normalized path component
+
+
+
+ &reftitle.description;
+
+ public stringUri\Rfc3986\Uri::getPath
+
+
+
+ Retrieves the normalized path component.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the normalized path component as a &string;.
+
+
+
+
+ &reftitle.examples;
+
+ Uri\Rfc3986\Uri::getPath basic example
+
+getPath();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\Rfc3986\Uri::getRawPath
+ Uri\Rfc3986\Uri::withPath
+ Uri\WhatWg\Url::getPath
+
+
+
+
diff --git a/reference/uri/rfc3986/uri/getport.xml b/reference/uri/rfc3986/uri/getport.xml
new file mode 100644
index 000000000000..283e039539d0
--- /dev/null
+++ b/reference/uri/rfc3986/uri/getport.xml
@@ -0,0 +1,80 @@
+
+
+
+ Uri\Rfc3986\Uri::getPort
+ >Retrieve the normalized port component
+
+
+
+ &reftitle.description;
+
+ public intnullUri\Rfc3986\Uri::getPort
+
+
+
+ Retrieves the normalized port component.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the normalized port component as an ∫ if the port component exists, &null; is returned otherwise.
+
+
+
+
+ &reftitle.examples;
+
+ Uri\Rfc3986\Uri::getPort basic example
+
+getPort();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\Rfc3986\Uri::withPort
+ Uri\WhatWg\Url::getPort
+
+
+
+
diff --git a/reference/uri/rfc3986/uri/getquery.xml b/reference/uri/rfc3986/uri/getquery.xml
new file mode 100644
index 000000000000..8e395b75bbf6
--- /dev/null
+++ b/reference/uri/rfc3986/uri/getquery.xml
@@ -0,0 +1,81 @@
+
+
+
+ Uri\Rfc3986\Uri::getQuery
+ >Retrieve the normalized query component
+
+
+
+ &reftitle.description;
+
+ public stringnullUri\Rfc3986\Uri::getQuery
+
+
+
+ Retrieves the normalized query component.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the normalized query component as a &string; if the query component exists, &null; is returned otherwise.
+
+
+
+
+ &reftitle.examples;
+
+ Uri\Rfc3986\Uri::getQuery basic example
+
+getQuery();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\Rfc3986\Uri::getRawQuery
+ Uri\Rfc3986\Uri::withQuery
+ Uri\WhatWg\Url::getQuery
+
+
+
+
diff --git a/reference/uri/rfc3986/uri/getrawfragment.xml b/reference/uri/rfc3986/uri/getrawfragment.xml
new file mode 100644
index 000000000000..92cb398915b1
--- /dev/null
+++ b/reference/uri/rfc3986/uri/getrawfragment.xml
@@ -0,0 +1,81 @@
+
+
+
+ Uri\Rfc3986\Uri::getRawFragment
+ >Retrieve the raw fragment component
+
+
+
+ &reftitle.description;
+
+ public stringnullUri\Rfc3986\Uri::getRawFragment
+
+
+
+ Retrieves the raw (non-normalized) fragment component.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the raw fragment component as a &string; if the fragment component exists, &null; is returned otherwise.
+
+
+
+
+ &reftitle.examples;
+
+ Uri\Rfc3986\Uri::getRawFragment basic example
+
+getRawFragment();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\Rfc3986\Uri::getFragment
+ Uri\Rfc3986\Uri::withFragment
+ Uri\WhatWg\Url::getFragment
+
+
+
+
diff --git a/reference/uri/rfc3986/uri/getrawhost.xml b/reference/uri/rfc3986/uri/getrawhost.xml
new file mode 100644
index 000000000000..66798f2af8e8
--- /dev/null
+++ b/reference/uri/rfc3986/uri/getrawhost.xml
@@ -0,0 +1,82 @@
+
+
+
+ Uri\Rfc3986\Uri::getRawHost
+ Retrieve the raw host component
+
+
+
+ &reftitle.description;
+
+ public stringnullUri\Rfc3986\Uri::getRawHost
+
+
+
+ Retrieves the raw (non-normalized) host component.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the raw host component as a &string; if the host component exists, &null; is returned otherwise.
+
+
+
+
+ &reftitle.examples;
+
+ Uri\Rfc3986\Uri::getRawHost basic example
+
+getRawHost();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\Rfc3986\Uri::getHost
+ Uri\Rfc3986\Uri::withHost
+ Uri\WhatWg\Url::getAsciiHost
+ Uri\WhatWg\Url::getUnicodeHost
+
+
+
+
diff --git a/reference/uri/rfc3986/uri/getrawpassword.xml b/reference/uri/rfc3986/uri/getrawpassword.xml
new file mode 100644
index 000000000000..cbf4a8367347
--- /dev/null
+++ b/reference/uri/rfc3986/uri/getrawpassword.xml
@@ -0,0 +1,84 @@
+
+
+
+ Uri\Rfc3986\Uri::getRawPassword
+ Retrieve the raw password
+
+
+
+ &reftitle.description;
+
+ public stringnullUri\Rfc3986\Uri::getRawPassword
+
+
+
+ Retrieves the raw (non-normalized) password part (the text after the first : character)
+ from the userinfo component.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the raw (non-normalized) password as a &string; if the userinfo component contains a : character.
+ An empty string is returned when the userinfo component doesn't contain a : character.
+ &null; is returned when the userinfo component doesn't exist.
+
+
+
+
+ &reftitle.examples;
+
+ Uri\Rfc3986\Uri::getRawPassword basic example
+
+getRawPassword();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\Rfc3986\Uri::getPassword
+ Uri\Rfc3986\Uri::withUserInfo
+ Uri\WhatWg\Url::getPassword
+
+
+
+
diff --git a/reference/uri/rfc3986/uri/getrawpath.xml b/reference/uri/rfc3986/uri/getrawpath.xml
new file mode 100644
index 000000000000..82779af66927
--- /dev/null
+++ b/reference/uri/rfc3986/uri/getrawpath.xml
@@ -0,0 +1,81 @@
+
+
+
+ Uri\Rfc3986\Uri::getRawPath
+ Retrieve the raw path component
+
+
+
+ &reftitle.description;
+
+ public stringUri\Rfc3986\Uri::getRawPath
+
+
+
+ Retrieves the raw (non-normalized) path component.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the raw path component as a &string;.
+
+
+
+
+ &reftitle.examples;
+
+ Uri\Rfc3986\Uri::getRawPath basic example
+
+getRawPath();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\Rfc3986\Uri::getPath
+ Uri\Rfc3986\Uri::withPath
+ Uri\WhatWg\Url::getPath
+
+
+
+
diff --git a/reference/uri/rfc3986/uri/getrawquery.xml b/reference/uri/rfc3986/uri/getrawquery.xml
new file mode 100644
index 000000000000..7b0323f79f27
--- /dev/null
+++ b/reference/uri/rfc3986/uri/getrawquery.xml
@@ -0,0 +1,81 @@
+
+
+
+ Uri\Rfc3986\Uri::getRawQuery
+ Retrieve the raw query component
+
+
+
+ &reftitle.description;
+
+ public stringnullUri\Rfc3986\Uri::getRawQuery
+
+
+
+ Retrieves the raw (non-normalized) query component.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the raw query component as a &string; if the query component exists, &null; is returned otherwise.
+
+
+
+
+ &reftitle.examples;
+
+ Uri\Rfc3986\Uri::getRawQuery basic example
+
+getRawQuery();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\Rfc3986\Uri::getQuery
+ Uri\Rfc3986\Uri::withQuery
+ Uri\WhatWg\Url::getQuery
+
+
+
+
diff --git a/reference/uri/rfc3986/uri/getrawscheme.xml b/reference/uri/rfc3986/uri/getrawscheme.xml
new file mode 100644
index 000000000000..ff6130f94537
--- /dev/null
+++ b/reference/uri/rfc3986/uri/getrawscheme.xml
@@ -0,0 +1,81 @@
+
+
+
+ Uri\Rfc3986\Uri::getRawScheme
+ Retrieve the raw scheme component
+
+
+
+ &reftitle.description;
+
+ public stringnullUri\Rfc3986\Uri::getRawScheme
+
+
+
+ Retrieves the raw (non-normalized) scheme component.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the raw scheme component as a &string; if the scheme component exists, &null; is returned otherwise.
+
+
+
+
+ &reftitle.examples;
+
+ Uri\Rfc3986\Uri::getRawScheme basic example
+
+getRawScheme();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\Rfc3986\Uri::getScheme
+ Uri\Rfc3986\Uri::withScheme
+ Uri\WhatWg\Url::getScheme
+
+
+
+
diff --git a/reference/uri/rfc3986/uri/getrawuserinfo.xml b/reference/uri/rfc3986/uri/getrawuserinfo.xml
new file mode 100644
index 000000000000..57a32f30a165
--- /dev/null
+++ b/reference/uri/rfc3986/uri/getrawuserinfo.xml
@@ -0,0 +1,85 @@
+
+
+
+ Uri\Rfc3986\Uri::getRawUserInfo
+ Retrieve the raw userinfo component
+
+
+
+ &reftitle.description;
+
+ public stringnullUri\Rfc3986\Uri::getRawUserInfo
+
+
+
+ Retrieves the raw (non-normalized) userinfo component.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the raw userinfo component as a &string; if the userinfo component exists, &null; is returned otherwise.
+
+
+
+
+ &reftitle.examples;
+
+ Uri\Rfc3986\Uri::getRawUserInfo basic example
+
+getRawUserInfo();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\Rfc3986\Uri::getUserInfo
+ Uri\Rfc3986\Uri::getUsername
+ Uri\Rfc3986\Uri::getPassword
+ Uri\Rfc3986\Uri::withUserInfo
+ Uri\WhatWg\Url::getUsername
+ Uri\WhatWg\Url::getPassword
+
+
+
+
+
diff --git a/reference/uri/rfc3986/uri/getrawusername.xml b/reference/uri/rfc3986/uri/getrawusername.xml
new file mode 100644
index 000000000000..5dff1a6903af
--- /dev/null
+++ b/reference/uri/rfc3986/uri/getrawusername.xml
@@ -0,0 +1,83 @@
+
+
+
+ Uri\Rfc3986\Uri::getRawUsername
+ Retrieve the raw username
+
+
+
+ &reftitle.description;
+
+ public stringnullUri\Rfc3986\Uri::getRawUsername
+
+
+
+ Retrieves the raw (non-normalized) username part (the text before the first : character)
+ from userinfo component.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the raw (non-normalized) username as a &string; if the userinfo component exists, &null; is returned otherwise.
+
+
+
+
+ &reftitle.examples;
+
+ Uri\Rfc3986\Uri::getRawUsername basic example
+
+getRawUsername();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\Rfc3986\Uri::getRawUserInfo
+ Uri\Rfc3986\Uri::getUserInfo
+ Uri\Rfc3986\Uri::withUserInfo
+ Uri\WhatWg\Url::getUsername
+
+
+
+
diff --git a/reference/uri/rfc3986/uri/getscheme.xml b/reference/uri/rfc3986/uri/getscheme.xml
new file mode 100644
index 000000000000..81ad886924a7
--- /dev/null
+++ b/reference/uri/rfc3986/uri/getscheme.xml
@@ -0,0 +1,81 @@
+
+
+
+ Uri\Rfc3986\Uri::getScheme
+ Retrieve the normalized scheme component
+
+
+
+ &reftitle.description;
+
+ public stringnullUri\Rfc3986\Uri::getScheme
+
+
+
+ Retrieves the normalized scheme component.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the normalized scheme component as a &string; if the scheme component exists, &null; is returned otherwise.
+
+
+
+
+ &reftitle.examples;
+
+ Uri\Rfc3986\Uri::getScheme basic example
+
+getScheme();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\Rfc3986\Uri::getRawScheme
+ Uri\Rfc3986\Uri::withScheme
+ Uri\WhatWg\Url::getScheme
+
+
+
+
diff --git a/reference/uri/rfc3986/uri/getuserinfo.xml b/reference/uri/rfc3986/uri/getuserinfo.xml
new file mode 100644
index 000000000000..cd8cf4b9975e
--- /dev/null
+++ b/reference/uri/rfc3986/uri/getuserinfo.xml
@@ -0,0 +1,86 @@
+
+
+
+ Uri\Rfc3986\Uri::getUserInfo
+ Retrieve the normalized userinfo component
+
+
+
+ &reftitle.description;
+
+ public stringnullUri\Rfc3986\Uri::getUserInfo
+
+
+
+ Retrieves the normalized userinfo component.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the normalized userinfo component as a &string; if the userinfo component exists, &null; is returned otherwise.
+
+
+
+
+ &reftitle.examples;
+
+ Uri\Rfc3986\Uri::getUserInfo basic example
+
+getUserInfo();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\Rfc3986\Uri::getRawUserInfo
+ Uri\Rfc3986\Uri::getRawUsername
+ Uri\Rfc3986\Uri::getUsername
+ Uri\Rfc3986\Uri::getRawPassword
+ Uri\Rfc3986\Uri::getPassword
+ Uri\Rfc3986\Uri::withUserInfo
+ Uri\WhatWg\Url::getUsername
+ Uri\WhatWg\Url::getPassword
+
+
+
+
diff --git a/reference/uri/rfc3986/uri/getusername.xml b/reference/uri/rfc3986/uri/getusername.xml
new file mode 100644
index 000000000000..717753632e8b
--- /dev/null
+++ b/reference/uri/rfc3986/uri/getusername.xml
@@ -0,0 +1,84 @@
+
+
+
+ Uri\Rfc3986\Uri::getUsername
+ Retrieve the normalized username
+
+
+
+ &reftitle.description;
+
+ public stringnullUri\Rfc3986\Uri::getUsername
+
+
+
+ Retrieves the normalized username part (the text before the first : character)
+ from the userinfo component.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the normalized username as a &string; if the userinfo component exists, &null; is returned otherwise.
+
+
+
+
+ &reftitle.examples;
+
+ Uri\Rfc3986\Uri::getUsername basic example
+
+getUsername();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\Rfc3986\Uri::getRawUsername
+ Uri\Rfc3986\Uri::getRawUserInfo
+ Uri\Rfc3986\Uri::getUserInfo
+ Uri\Rfc3986\Uri::withUserInfo
+ Uri\WhatWg\Url::getUsername
+
+
+
+
diff --git a/reference/uri/rfc3986/uri/parse.xml b/reference/uri/rfc3986/uri/parse.xml
new file mode 100644
index 000000000000..dfd03e2aebaa
--- /dev/null
+++ b/reference/uri/rfc3986/uri/parse.xml
@@ -0,0 +1,106 @@
+
+
+
+ Uri\Rfc3986\Uri::parse
+ Parse a URI
+
+
+
+ &reftitle.description;
+
+ public static staticnullUri\Rfc3986\Uri::parse
+ stringuri
+ Uri\Rfc3986\UrinullbaseUrl&null;
+
+
+ Parses a URI.
+
+
+
+
+ &reftitle.parameters;
+
+
+ uri
+
+
+ URI to parse.
+
+
+
+
+ baseUrl
+
+
+ When a &string; is passed, uri is applied on
+ baseUrl, if uri is a relative reference.
+ If either &null; is passed, or uri is a not a relative reference, then
+ baseUrl doesn't have any effect.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ Returns a Uri\Rfc3986\Uri instance on success, or &null; on failure.
+
+
+
+
+ &reftitle.examples;
+
+ Uri\Rfc3986\Uri::parse basic example
+
+toString();
+} else {
+ echo "Invalid URI"
+}
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\Rfc3986\Uri::__construct
+ Uri\Rfc3986\Uri::resolve
+ Uri\WhatWg\Url::parse
+
+
+
+
diff --git a/reference/uri/rfc3986/uri/resolve.xml b/reference/uri/rfc3986/uri/resolve.xml
new file mode 100644
index 000000000000..68f162ba0ee2
--- /dev/null
+++ b/reference/uri/rfc3986/uri/resolve.xml
@@ -0,0 +1,96 @@
+
+
+
+ Uri\Rfc3986\Uri::resolve
+ Resolve a URI with the current object as the base URL
+
+
+
+ &reftitle.description;
+
+ public staticUri\Rfc3986\Uri::resolve
+ stringuri
+
+
+ Resolves a URI - which may potentially be a relative reference - with the current object as the base URL.
+
+
+
+
+ &reftitle.parameters;
+
+
+ uri
+
+
+ A URI to apply on the current object.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ A new Uri\Rfc3986\Uri instance.
+
+
+
+
+ &reftitle.errors;
+ &uri.errors.invalidUriException;
+
+
+
+ &reftitle.examples;
+
+ Uri\Rfc3986\Uri::resolve basic example
+
+resolve("/foo");
+
+echo $uri->toRawString();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\Rfc3986\Uri::__construct
+ Uri\Rfc3986\Uri::parse
+ Uri\WhatWg\Url::resolve
+
+
+
+
diff --git a/reference/uri/rfc3986/uri/serialize.xml b/reference/uri/rfc3986/uri/serialize.xml
new file mode 100644
index 000000000000..4d064c6a476b
--- /dev/null
+++ b/reference/uri/rfc3986/uri/serialize.xml
@@ -0,0 +1,58 @@
+
+
+
+ Uri\Rfc3986\Uri::__serialize
+ Serialize the Uri object
+
+
+
+ &reftitle.description;
+
+ public arrayUri\Rfc3986\Uri::__serialize
+
+
+
+ Serializes the Uri\Rfc3986\Uri object.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the serialized URI as a &string;.
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\Rfc3986\Uri::__unserialize
+ Uri\WhatWg\Url::__serialize
+
+
+
+
diff --git a/reference/uri/rfc3986/uri/torawstring.xml b/reference/uri/rfc3986/uri/torawstring.xml
new file mode 100644
index 000000000000..b8ccbe91d6d2
--- /dev/null
+++ b/reference/uri/rfc3986/uri/torawstring.xml
@@ -0,0 +1,81 @@
+
+
+
+ Uri\Rfc3986\Uri::toRawString
+ Recompose the raw URI
+
+
+
+ &reftitle.description;
+
+ public stringUri\Rfc3986\Uri::toRawString
+
+
+
+ Recomposes the raw (non-normalized) URI to a &string;.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the recomposed raw (non-normalized) URI as a &string;.
+
+
+
+
+ &reftitle.examples;
+
+ Uri\Rfc3986\Uri::toRawString basic example
+
+toRawString();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\Rfc3986\Uri::toString
+ Uri\WhatWg\Url::toAsciiString
+ Uri\WhatWg\Url::toUnicodeString
+
+
+
+
diff --git a/reference/uri/rfc3986/uri/tostring.xml b/reference/uri/rfc3986/uri/tostring.xml
new file mode 100644
index 000000000000..713d44c50181
--- /dev/null
+++ b/reference/uri/rfc3986/uri/tostring.xml
@@ -0,0 +1,81 @@
+
+
+
+ Uri\Rfc3986\Uri::toString
+ Recompose the normalized URI
+
+
+
+ &reftitle.description;
+
+ public stringUri\Rfc3986\Uri::toString
+
+
+
+ Recomposes the normalized URI to a &string;.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the recomposed normalized URI as a &string;.
+
+
+
+
+ &reftitle.examples;
+
+ Uri\Rfc3986\Uri::toString basic example
+
+toString();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\Rfc3986\Uri::toRawString
+ Uri\WhatWg\Url::toAsciiString
+ Uri\WhatWg\Url::toUnicodeString
+
+
+
+
diff --git a/reference/uri/rfc3986/uri/unserialize.xml b/reference/uri/rfc3986/uri/unserialize.xml
new file mode 100644
index 000000000000..a042e96e9fd7
--- /dev/null
+++ b/reference/uri/rfc3986/uri/unserialize.xml
@@ -0,0 +1,77 @@
+
+
+
+ Uri\Rfc3986\Uri::__unserialize
+ Deserialize the data parameter into a Uri object
+
+
+
+ &reftitle.description;
+
+ public voidUri\Rfc3986\Uri::__unserialize
+ arraydata
+
+
+ Deserializes a data parameter into a Uri\Rfc3986\Uri object.
+
+
+
+
+ &reftitle.parameters;
+
+
+ data
+
+
+ The serialized data as an array.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ &return.void;
+
+
+
+
+ &reftitle.errors;
+
+ If the __unserialize method is called on an already existing URI, Error
+ is thrown.
+
+
+ &uri.errors.invalidUriException;
+
+
+
+ &reftitle.seealso;
+
+ Uri\Rfc3986\Uri::__serialize
+ Uri\WhatWg\Url::__unserialize
+
+
+
+
diff --git a/reference/uri/rfc3986/uri/withfragment.xml b/reference/uri/rfc3986/uri/withfragment.xml
new file mode 100644
index 000000000000..287bcf812b77
--- /dev/null
+++ b/reference/uri/rfc3986/uri/withfragment.xml
@@ -0,0 +1,95 @@
+
+
+
+ Uri\Rfc3986\Uri::withFragment
+ Modify the fragment component
+
+
+
+ &reftitle.description;
+
+ public staticUri\Rfc3986\Uri::withFragment
+ stringnullfragment
+
+
+ Creates a new URI and modifies its fragment component.
+
+
+
+
+ &reftitle.parameters;
+
+
+ fragment
+
+
+ New fragment component.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ The modified Uri\Rfc3986\Uri instance.
+
+
+
+
+ &reftitle.errors;
+ &uri.errors.invalidUriException;
+
+
+
+ &reftitle.examples;
+
+ Uri\Rfc3986\Uri::withFragment basic example
+
+withFragment("bar");
+
+echo $uri->getFragment();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\Rfc3986\Uri::getFragment
+ Uri\Rfc3986\Uri::getRawFragment
+ Uri\WhatWg\Url::withFragment
+
+
+
+
diff --git a/reference/uri/rfc3986/uri/withhost.xml b/reference/uri/rfc3986/uri/withhost.xml
new file mode 100644
index 000000000000..383d12da8574
--- /dev/null
+++ b/reference/uri/rfc3986/uri/withhost.xml
@@ -0,0 +1,96 @@
+
+
+
+ Uri\Rfc3986\Uri::withHost
+ Modify the host component
+
+
+
+ &reftitle.description;
+
+ public staticUri\Rfc3986\Uri::withHost
+ stringnullhost
+
+
+ Creates a new URI and modifies its host component.
+
+
+
+
+ &reftitle.parameters;
+
+
+ host
+
+
+ New host component.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ The modified Uri\Rfc3986\Uri instance.
+
+
+
+
+ &reftitle.errors;
+ &uri.errors.invalidUriException;
+
+
+
+ &reftitle.examples;
+
+ Uri\Rfc3986\Uri::withHost basic example
+
+withHost("example.net");
+
+echo $uri->getHost();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\Rfc3986\Uri::getHost
+ Uri\Rfc3986\Uri::getRawHost
+ Uri\WhatWg\Url::withHost
+
+
+
+
diff --git a/reference/uri/rfc3986/uri/withpath.xml b/reference/uri/rfc3986/uri/withpath.xml
new file mode 100644
index 000000000000..6160754d81a8
--- /dev/null
+++ b/reference/uri/rfc3986/uri/withpath.xml
@@ -0,0 +1,96 @@
+
+
+
+ Uri\Rfc3986\Uri::withPath
+ Modify the path component
+
+
+
+ &reftitle.description;
+
+ public staticUri\Rfc3986\Uri::withPath
+ stringpath
+
+
+ Creates a new URI and modifies its path component.
+
+
+
+
+ &reftitle.parameters;
+
+
+ path
+
+
+ New path component.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ The modified Uri\Rfc3986\Uri instance.
+
+
+
+
+ &reftitle.errors;
+ &uri.errors.invalidUriException;
+
+
+
+ &reftitle.examples;
+
+ Uri\Rfc3986\Uri::withPath basic example
+
+withPath("/baz");
+
+echo $uri->getPath();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\Rfc3986\Uri::getPath
+ Uri\Rfc3986\Uri::getRawPath
+ Uri\WhatWg\Url::withPath
+
+
+
+
diff --git a/reference/uri/rfc3986/uri/withport.xml b/reference/uri/rfc3986/uri/withport.xml
new file mode 100644
index 000000000000..716f288bebc2
--- /dev/null
+++ b/reference/uri/rfc3986/uri/withport.xml
@@ -0,0 +1,95 @@
+
+
+
+ Uri\Rfc3986\Uri::withPort
+ Modify the port component
+
+
+
+ &reftitle.description;
+
+ public staticUri\Rfc3986\Uri::withPort
+ intnullport
+
+
+ Creates a new URI and modifies its port component.
+
+
+
+
+ &reftitle.parameters;
+
+
+ port
+
+
+ New port component.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ The modified Uri\Rfc3986\Uri instance.
+
+
+
+
+ &reftitle.errors;
+ &uri.errors.invalidUriException;
+
+
+
+ &reftitle.examples;
+
+ Uri\Rfc3986\Uri::withPort basic example
+
+withPort(443);
+
+echo $uri->getPort();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\Rfc3986\Uri::getPort
+ Uri\WhatWg\Url::withPort
+
+
+
+
diff --git a/reference/uri/rfc3986/uri/withquery.xml b/reference/uri/rfc3986/uri/withquery.xml
new file mode 100644
index 000000000000..b51b269bc111
--- /dev/null
+++ b/reference/uri/rfc3986/uri/withquery.xml
@@ -0,0 +1,96 @@
+
+
+
+ Uri\Rfc3986\Uri::withQuery
+ Modify the query component
+
+
+
+ &reftitle.description;
+
+ public staticUri\Rfc3986\Uri::withQuery
+ stringnullquery
+
+
+ Creates a new URI and modifies its query component.
+
+
+
+
+ &reftitle.parameters;
+
+
+ query
+
+
+ New query component.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ The modified Uri\Rfc3986\Uri instance.
+
+
+
+
+ &reftitle.errors;
+ &uri.errors.invalidUriException;
+
+
+
+ &reftitle.examples;
+
+ Uri\Rfc3986\Uri::withQuery basic example
+
+withQuery("foo=baz");
+
+echo $uri->getQuery();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\Rfc3986\Uri::getRawQuery
+ Uri\Rfc3986\Uri::getQuery
+ Uri\WhatWg\Url::withQuery
+
+
+
+
diff --git a/reference/uri/rfc3986/uri/withscheme.xml b/reference/uri/rfc3986/uri/withscheme.xml
new file mode 100644
index 000000000000..85acac6a910c
--- /dev/null
+++ b/reference/uri/rfc3986/uri/withscheme.xml
@@ -0,0 +1,96 @@
+
+
+
+ Uri\Rfc3986\Uri::withScheme
+ Modify the scheme component
+
+
+
+ &reftitle.description;
+
+ public staticUri\Rfc3986\Uri::withScheme
+ stringnullscheme
+
+
+ Creates a new URI and modifies its scheme component.
+
+
+
+
+ &reftitle.parameters;
+
+
+ scheme
+
+
+ New scheme component.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ The modified Uri\Rfc3986\Uri instance.
+
+
+
+
+ &reftitle.errors;
+ &uri.errors.invalidUriException;
+
+
+
+ &reftitle.examples;
+
+ Uri\Rfc3986\Uri::withScheme basic example
+
+withScheme("http");
+
+echo $uri->getScheme();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\Rfc3986\Uri::getRawScheme
+ Uri\Rfc3986\Uri::getScheme
+ Uri\WhatWg\Url::withScheme
+
+
+
+
diff --git a/reference/uri/rfc3986/uri/withuserinfo.xml b/reference/uri/rfc3986/uri/withuserinfo.xml
new file mode 100644
index 000000000000..c98c8d0eeb9e
--- /dev/null
+++ b/reference/uri/rfc3986/uri/withuserinfo.xml
@@ -0,0 +1,101 @@
+
+
+
+ Uri\Rfc3986\Uri::withUserInfo
+ Modify the userinfo component
+
+
+
+ &reftitle.description;
+
+ public staticUri\Rfc3986\Uri::withUserInfo
+ #[\SensitiveParameter]stringnulluserinfo
+
+
+ Creates a new URI and modifies its userinfo component.
+
+
+
+
+ &reftitle.parameters;
+
+
+ userinfo
+
+
+ New userinfo component.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ The modified Uri\Rfc3986\Uri instance.
+
+
+
+
+ &reftitle.errors;
+ &uri.errors.invalidUriException;
+
+
+
+ &reftitle.examples;
+
+ Uri\Rfc3986\Uri::withUserInfo basic example
+
+withUserInfo("userinfo");
+
+echo $uri->getUserInfo();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\Rfc3986\Uri::getRawUserInfo
+ Uri\Rfc3986\Uri::getUserInfo
+ Uri\Rfc3986\Uri::getRawUsername
+ Uri\Rfc3986\Uri::getUsername
+ Uri\Rfc3986\Uri::getRawPassword
+ Uri\Rfc3986\Uri::getPassword
+ Uri\WhatWg\Url::withUsername
+ Uri\WhatWg\Url::withPassword
+
+
+
+
diff --git a/reference/uri/uri.invaliduriexception.xml b/reference/uri/uri.invaliduriexception.xml
new file mode 100644
index 000000000000..6add87474eee
--- /dev/null
+++ b/reference/uri/uri.invaliduriexception.xml
@@ -0,0 +1,65 @@
+
+
+ The Uri\InvalidUriException class
+ Uri\InvalidUriException
+
+
+
+
+
+ &reftitle.classsynopsis;
+
+
+ Uri
+
+
+
+ InvalidUriException
+
+
+
+ extends
+ Uri\UriException
+
+
+ &InheritedProperties;
+
+
+
+
+ &InheritedMethods;
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/reference/uri/uri.rfc3986.uri.xml b/reference/uri/uri.rfc3986.uri.xml
new file mode 100644
index 000000000000..751b80107a66
--- /dev/null
+++ b/reference/uri/uri.rfc3986.uri.xml
@@ -0,0 +1,57 @@
+
+
+ The Uri\Rfc3986\Uri class
+ Uri\Rfc3986\Uri
+
+
+
+
+
+ &reftitle.classsynopsis;
+
+
+ Uri\Rfc3986
+
+
+
+ final
+ readonly
+ Uri
+
+
+ &Methods;
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/reference/uri/uri.uricomparisonmode.xml b/reference/uri/uri.uricomparisonmode.xml
new file mode 100644
index 000000000000..79957ae3530c
--- /dev/null
+++ b/reference/uri/uri.uricomparisonmode.xml
@@ -0,0 +1,55 @@
+
+
+ The Uri\UriComparisonMode enum
+ Uri\UriComparisonMode
+
+
+
+
+
+ &reftitle.enumsynopsis;
+
+
+ Uri
+
+
+ UriComparisonMode
+
+
+ IncludeFragment
+ The fragment component is included in the comparison.
+
+
+
+ ExcludeFragment
+ The fragment component is excluded from the comparison.
+
+
+
+
+
+
+
diff --git a/reference/uri/uri.urierror.xml b/reference/uri/uri.urierror.xml
new file mode 100644
index 000000000000..44e310429ba8
--- /dev/null
+++ b/reference/uri/uri.urierror.xml
@@ -0,0 +1,65 @@
+
+
+ The Uri\UriError class
+ Uri\UriError
+
+
+
+
+
+ &reftitle.classsynopsis;
+
+
+ Uri
+
+
+
+ UriError
+
+
+
+ extends
+ Error
+
+
+ &InheritedProperties;
+
+
+
+
+ &InheritedMethods;
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/reference/uri/uri.uriexception.xml b/reference/uri/uri.uriexception.xml
new file mode 100644
index 000000000000..da50c888aca5
--- /dev/null
+++ b/reference/uri/uri.uriexception.xml
@@ -0,0 +1,65 @@
+
+
+ The Uri\UriException class
+ Uri\UriException
+
+
+
+
+
+ &reftitle.classsynopsis;
+
+
+ Uri
+
+
+
+ UriException
+
+
+
+ extends
+ Exception
+
+
+ &InheritedProperties;
+
+
+
+
+ &InheritedMethods;
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/reference/uri/uri.whatwg.invalidurlexception.xml b/reference/uri/uri.whatwg.invalidurlexception.xml
new file mode 100644
index 000000000000..12c92369e5ba
--- /dev/null
+++ b/reference/uri/uri.whatwg.invalidurlexception.xml
@@ -0,0 +1,89 @@
+
+
+ The Uri\WhatWg\InvalidUrlException class
+ Uri\WhatWg\InvalidUrlException
+
+
+
+
+
+ &reftitle.classsynopsis;
+
+
+ Uri\WhatWg
+
+
+
+ InvalidUrlException
+
+
+
+ extends
+ Uri\InvalidUriException
+
+
+ &Properties;
+
+ public
+ readonly
+ array
+ errors
+
+
+ &InheritedProperties;
+
+
+
+
+ &Methods;
+
+
+
+
+ &InheritedMethods;
+
+
+
+
+
+
+
+
+ &reftitle.properties;
+
+
+ errors
+
+
+ An &array; of Uri\WhatWg\UrlValidationError objects.
+
+
+
+
+
+
+
+
diff --git a/reference/uri/uri.whatwg.url.xml b/reference/uri/uri.whatwg.url.xml
new file mode 100644
index 000000000000..21b2422a5db9
--- /dev/null
+++ b/reference/uri/uri.whatwg.url.xml
@@ -0,0 +1,57 @@
+
+
+ The Uri\WhatWg\Url class
+ Uri\WhatWg\Url
+
+
+
+
+
+ &reftitle.classsynopsis;
+
+
+ Uri\WhatWg
+
+
+
+ final
+ readonly
+ Url
+
+
+ &Methods;
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/reference/uri/uri.whatwg.urlvalidationerror.xml b/reference/uri/uri.whatwg.urlvalidationerror.xml
new file mode 100644
index 000000000000..bcdc0d403573
--- /dev/null
+++ b/reference/uri/uri.whatwg.urlvalidationerror.xml
@@ -0,0 +1,101 @@
+
+
+ The Uri\WhatWg\UrlValidationError class
+ Uri\WhatWg\UrlValidationError
+
+
+
+
+
+ &reftitle.classsynopsis;
+
+
+ Uri\WhatWg
+
+
+
+ final
+ readonly
+ UrlValidationError
+
+
+ &Properties;
+
+ public
+ string
+ context
+
+
+ public
+ Uri\WhatWg\UrlValidationErrorType
+ type
+
+
+ public
+ bool
+ failure
+
+
+ &Methods;
+
+
+
+
+
+
+
+
+ &reftitle.properties;
+
+
+ context
+
+
+ The input URL at the point where the error was detected.
+
+
+
+
+ type
+
+
+ A Uri\WhatWg\UrlValidationErrorType instance.
+
+
+
+
+ failure
+
+
+ Whether the error refers to a failure, or a soft-error.
+
+
+
+
+
+
+
+
diff --git a/reference/uri/uri.whatwg.urlvalidationerrortype.xml b/reference/uri/uri.whatwg.urlvalidationerrortype.xml
new file mode 100644
index 000000000000..2162ccbde7fd
--- /dev/null
+++ b/reference/uri/uri.whatwg.urlvalidationerrortype.xml
@@ -0,0 +1,200 @@
+
+
+ The Uri\WhatWg\UrlValidationErrorType enum
+ Uri\WhatWg\UrlValidationErrorType
+
+
+
+
+
+ &reftitle.enumsynopsis;
+
+
+ Uri\WhatWg
+
+
+ UrlValidationErrorType
+
+
+ DomainToAscii
+ Error during the process of converting the domain name to an ASCII string.
+
+
+
+ DomainToUnicode
+ Error during the process of converting the domain name to a Unicode string.
+
+
+
+ DomainInvalidCodePoint
+ The input's host contains a forbidden domain code point.
+
+
+
+ HostInvalidCodePoint
+ An opaque host (in a URL that is not special) contains a forbidden host code point.
+
+
+
+ Ipv4EmptyPart
+ An IPv4 address ends with a U+002E (.).
+
+
+
+ Ipv4TooManyParts
+ An IPv4 address does not consist of exactly 4 parts.
+
+
+
+ Ipv4NonNumericPart
+ An IPv4 address part is not numeric.
+
+
+
+ Ipv4NonDecimalPart
+ The IPv4 address contains numbers expressed using hexadecimal or octal digits.
+
+
+
+ Ipv4OutOfRangePart
+ An IPv4 address part exceeds 255.
+
+
+
+ Ipv6Unclosed
+ An IPv6 address is missing the closing U+005D (]).
+
+
+
+ Ipv6InvalidCompression
+ An IPv6 address begins with improper compression.
+
+
+
+ Ipv6TooManyPieces
+ An IPv6 address contains more than 8 pieces.
+
+
+
+ Ipv6MultipleCompression
+ An IPv6 address is compressed in more than one spot.
+
+
+
+ Ipv6InvalidCodePoint
+
+ An IPv6 address contains a code point that is neither an ASCII hex digit
+ nor a U+003A (:). Or it unexpectedly ends.
+
+
+
+
+ Ipv6TooFewPieces
+ An uncompressed IPv6 address contains fewer than 8 pieces.
+
+
+
+ Ipv4InIpv6TooManyPieces
+ An IPv6 address with IPv4 address syntax: the IPv6 address has more than 6 pieces.
+
+
+
+ Ipv4InIpv6InvalidCodePoint
+ An IPv6 address with IPv4 address syntax.
+
+
+
+ Ipv4InIpv6OutOfRangePart
+ An IPv6 address with IPv4 address syntax: an IPv4 part exceeds 255.
+
+
+
+ Ipv4InIpv6TooFewParts
+ An IPv6 address with IPv4 address syntax: an IPv4 address contains too few parts.
+
+
+
+ InvalidUrlUnit
+ A code point is found that is not a URL unit.
+
+
+
+ SpecialSchemeMissingFollowingSolidus
+ The input’s scheme is not followed by //.
+
+
+
+ MissingSchemeNonRelativeUrl
+
+ The input is missing a scheme, because it does not begin with an ASCII alpha, and either no base URL was provided
+ or the base URL cannot be used as a base URL because it has an opaque path.
+
+
+
+
+ InvalidReverseSoldius
+ The URL has a special scheme and it uses U+005C (\)
+ instead of U+002F (/).
+
+
+
+ InvalidCredentials
+ The input includes credentials.
+
+
+
+ HostMissing
+ The input has a special scheme, but does not contain a host.
+
+
+
+ PortOutOfRange
+ The input’s port is too big.
+
+
+
+ PortInvalid
+ The input’s port is invalid.
+
+
+
+ FileInvalidWindowsDriveLetter
+
+ The input is a relative-URL string that starts with a Windows drive letter and
+ the base URL's scheme is file.
+
+
+
+
+ FileInvalidWindowsDriveLetterHost
+ A file: URL's host is a Windows drive letter.
+
+
+
+
+
+
+
diff --git a/reference/uri/versions.xml b/reference/uri/versions.xml
new file mode 100644
index 000000000000..fac5ab996d64
--- /dev/null
+++ b/reference/uri/versions.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/reference/uri/whatwg/invalidurlexception/construct.xml b/reference/uri/whatwg/invalidurlexception/construct.xml
new file mode 100644
index 000000000000..7677dc3317f0
--- /dev/null
+++ b/reference/uri/whatwg/invalidurlexception/construct.xml
@@ -0,0 +1,79 @@
+
+
+
+ Uri\WhatWg\InvalidUrlException::__construct
+ Construct an InvalidUrlException object
+
+
+
+ &reftitle.description;
+
+ public Uri\WhatWg\InvalidUrlException::__construct
+ stringmessage""
+ arrayerrors[]
+ intcode0
+ Throwablenullprevious&null;
+
+
+ Constructs a Uri\WhatWg\InvalidUrlException object.
+
+
+
+
+ &reftitle.parameters;
+
+
+ message
+
+
+ Exception message.
+
+
+
+
+ errors
+
+
+ An &array; of Uri\WhatWg\UrlValidationError objects.
+
+
+
+
+ code
+
+
+ Exception code.
+
+
+
+
+ previous
+
+
+ The previous exception used for exception chaining.
+
+
+
+
+
+
+
diff --git a/reference/uri/whatwg/url/construct.xml b/reference/uri/whatwg/url/construct.xml
new file mode 100644
index 000000000000..3eb638ca6930
--- /dev/null
+++ b/reference/uri/whatwg/url/construct.xml
@@ -0,0 +1,88 @@
+
+
+
+ Uri\WhatWg\Url::__construct
+ Construct the Url object
+
+
+
+ &reftitle.description;
+
+ public Uri\WhatWg\Url::__construct
+ stringuri
+ Uri\WhatWg\UrlnullbaseUrl&null;
+ arraysoftErrors&null;
+
+
+ Constructs the Uri\Rfc3986\Uri object.
+
+
+
+
+ &reftitle.parameters;
+
+
+ uri
+
+
+ A valid URL string to parse (e.g. /foo or (e.g. https://example.com/foo).
+
+
+
+
+ baseUrl
+
+
+ When a &string; is passed, uri is applied on
+ baseUrl, if uri is a relative-URL string.
+ If either &null; is passed, or uri is a not a relative-URL string, then
+ baseUrl doesn't have any effect.
+
+
+
+
+ softErrors
+
+
+ An &array; to pass a list of Uri\WhatWg\UrlValidationError
+ instances by reference to provide extended information about the errors triggered during parsing.
+
+
+
+
+
+
+
+ &reftitle.errors;
+ &uri.errors.invalidUrlException;
+
+
+
+ &reftitle.seealso;
+
+ Uri\WhatWg\Url::parse
+ Uri\WhatWg\Url::resolve
+ Uri\Rfc3986\Uri::__construct
+
+
+
+
diff --git a/reference/uri/whatwg/url/debuginfo.xml b/reference/uri/whatwg/url/debuginfo.xml
new file mode 100644
index 000000000000..b97a98f8e41d
--- /dev/null
+++ b/reference/uri/whatwg/url/debuginfo.xml
@@ -0,0 +1,57 @@
+
+
+
+ Uri\WhatWg\Url::__debugInfo
+ Return the internal state of the URL
+
+
+
+ &reftitle.description;
+
+ public arrayUri\WhatWg\Url::__debugInfo
+
+
+
+ Returns the internal state of the URL.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the internal state of the URL as an &array;.
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\Rfc3986\Uri::__debugInfo
+
+
+
+
diff --git a/reference/uri/whatwg/url/equals.xml b/reference/uri/whatwg/url/equals.xml
new file mode 100644
index 000000000000..16cde9b657c4
--- /dev/null
+++ b/reference/uri/whatwg/url/equals.xml
@@ -0,0 +1,100 @@
+
+
+
+ Uri\WhatWg\Url::equals
+ Check if two URLs are equivalent
+
+
+
+ &reftitle.description;
+
+ public boolUri\WhatWg\Url::equals
+ Uri\WhatWg\Urlurl
+ Uri\UriComparisonModecomparisonModeUri\UriComparisonMode::ExcludeFragment
+
+
+ Checks if two URLs are equivalent.
+
+
+
+
+ &reftitle.parameters;
+
+
+ url
+
+
+ URL to compare the current URL against.
+
+
+
+
+ comparisonMode
+
+
+ Whether the fragment component is taken into account of the comparison
+ (Uri\UriComparisonMode::IncludeFragment) or not
+ (Uri\UriComparisonMode::ExcludeFragment). By default, the fragment is excluded.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ Returns &true; if the two URLs are equivalent, or &false; otherwise.
+
+
+
+
+ &reftitle.examples;
+
+ Uri\WhatWg\Url::equals basic example
+
+equals($url2));
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\Rfc3986\Uri::equals
+
+
+
+
diff --git a/reference/uri/whatwg/url/getasciihost.xml b/reference/uri/whatwg/url/getasciihost.xml
new file mode 100644
index 000000000000..0f239f583868
--- /dev/null
+++ b/reference/uri/whatwg/url/getasciihost.xml
@@ -0,0 +1,82 @@
+
+
+
+ Uri\WhatWg\Url::getAsciiHost
+ Retrieve the host component as an ASCII &string;
+
+
+
+ &reftitle.description;
+
+ public stringnullUri\WhatWg\Url::getAsciiHost
+
+
+
+ Retrieves the host component as a &string; using punycode transcription instead of Unicode characters.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the host component as an ASCII &string; if the host component exists, &null; is returned otherwise.
+
+
+
+
+ &reftitle.examples;
+
+ Uri\WhatWg\Url::getAsciiHost basic example
+
+getAsciiHost();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\WhatWg\Url::getUnicodeHost
+ Uri\WhatWg\Url::withHost
+ Uri\Rfc3986\Uri::getRawHost
+ Uri\Rfc3986\Uri::getHost
+
+
+
+
diff --git a/reference/uri/whatwg/url/getfragment.xml b/reference/uri/whatwg/url/getfragment.xml
new file mode 100644
index 000000000000..de8178e08454
--- /dev/null
+++ b/reference/uri/whatwg/url/getfragment.xml
@@ -0,0 +1,81 @@
+
+
+
+ Uri\WhatWg\Url::getFragment
+ Retrieve the fragment component
+
+
+
+ &reftitle.description;
+
+ public stringnullUri\WhatWg\Url::getFragment
+
+
+
+ Retrieves the fragment component.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the fragment component as a &string; if the fragment component exists, &null; is returned otherwise.
+
+
+
+
+ &reftitle.examples;
+
+ Uri\WhatWg\Url::getFragment basic example
+
+getFragment();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\WhatWg\Url::withFragment
+ Uri\Rfc3986\Uri::getRawFragment
+ Uri\Rfc3986\Uri::getFragment
+
+
+
+
diff --git a/reference/uri/whatwg/url/getpassword.xml b/reference/uri/whatwg/url/getpassword.xml
new file mode 100644
index 000000000000..5968009d0851
--- /dev/null
+++ b/reference/uri/whatwg/url/getpassword.xml
@@ -0,0 +1,81 @@
+
+
+
+ Uri\WhatWg\Url::getPassword
+ Retrieve the password component
+
+
+
+ &reftitle.description;
+
+ public stringnullUri\WhatWg\Url::getPassword
+
+
+
+ Retrieves the password component.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the password component as a &string; if the password component exists, &null; is returned otherwise.
+
+
+
+
+ &reftitle.examples;
+
+ Uri\WhatWg\Url::getPassword basic example
+
+getPassword();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\WhatWg\Url::withPassword
+ Uri\Rfc3986\Uri::getRawPassword
+ Uri\Rfc3986\Uri::getPassword
+
+
+
+
diff --git a/reference/uri/whatwg/url/getpath.xml b/reference/uri/whatwg/url/getpath.xml
new file mode 100644
index 000000000000..941547059d9c
--- /dev/null
+++ b/reference/uri/whatwg/url/getpath.xml
@@ -0,0 +1,81 @@
+
+
+
+ Uri\WhatWg\Url::getPath
+ Retrieve the path component
+
+
+
+ &reftitle.description;
+
+ public stringUri\WhatWg\Url::getPath
+
+
+
+ Retrieves the path component.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the path component as a &string;.
+
+
+
+
+ &reftitle.examples;
+
+ Uri\WhatWg\Url::getPath basic example
+
+getPath();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\WhatWg\Url::withPath
+ Uri\Rfc3986\Uri::getRawPath
+ Uri\Rfc3986\Uri::getPath
+
+
+
+
diff --git a/reference/uri/whatwg/url/getport.xml b/reference/uri/whatwg/url/getport.xml
new file mode 100644
index 000000000000..ad999fc1ebf2
--- /dev/null
+++ b/reference/uri/whatwg/url/getport.xml
@@ -0,0 +1,80 @@
+
+
+
+ Uri\WhatWg\Url::getPort
+ Retrieve the port component
+
+
+
+ &reftitle.description;
+
+ public intnullUri\WhatWg\Url::getPort
+
+
+
+ Retrieves the port component.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the port component as an ∫ if the port component exists, &null; is returned otherwise.
+
+
+
+
+ &reftitle.examples;
+
+ Uri\WhatWg\Url::getPort basic example
+
+getPort();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\WhatWg\Url::withPort
+ Uri\Rfc3986\Uri::getPort
+
+
+
+
diff --git a/reference/uri/whatwg/url/getquery.xml b/reference/uri/whatwg/url/getquery.xml
new file mode 100644
index 000000000000..5435a414d9c0
--- /dev/null
+++ b/reference/uri/whatwg/url/getquery.xml
@@ -0,0 +1,81 @@
+
+
+
+ Uri\WhatWg\Url::getQuery
+ Retrieve the query component
+
+
+
+ &reftitle.description;
+
+ public stringnullUri\WhatWg\Url::getQuery
+
+
+
+ Retrieves the query component.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the query component as a &string; if the query component exists, &null; is returned otherwise.
+
+
+
+
+ &reftitle.examples;
+
+ Uri\WhatWg\Url::getQuery basic example
+
+getQuery();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\WhatWg\Url::withQuery
+ Uri\Rfc3986\Uri::getRawQuery
+ Uri\Rfc3986\Uri::getQuery
+
+
+
+
diff --git a/reference/uri/whatwg/url/getscheme.xml b/reference/uri/whatwg/url/getscheme.xml
new file mode 100644
index 000000000000..7863759bddf5
--- /dev/null
+++ b/reference/uri/whatwg/url/getscheme.xml
@@ -0,0 +1,81 @@
+
+
+
+ Uri\WhatWg\Url::getScheme
+ Retrieve the scheme component
+
+
+
+ &reftitle.description;
+
+ public stringUri\WhatWg\Url::getScheme
+
+
+
+ Retrieves the scheme component.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the scheme component as a &string; if the scheme component exists, &null; is returned otherwise.
+
+
+
+
+ &reftitle.examples;
+
+ Uri\WhatWg\Url::getScheme basic example
+
+getScheme();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\WhatWg\Url::withScheme
+ Uri\Rfc3986\Uri::getRawScheme
+ Uri\Rfc3986\Uri::getScheme
+
+
+
+
diff --git a/reference/uri/whatwg/url/getunicodehost.xml b/reference/uri/whatwg/url/getunicodehost.xml
new file mode 100644
index 000000000000..b44033269f65
--- /dev/null
+++ b/reference/uri/whatwg/url/getunicodehost.xml
@@ -0,0 +1,82 @@
+
+
+
+ Uri\WhatWg\Url::getUnicodeHost
+ Retrieve the host component as an Unicode &string;
+
+
+
+ &reftitle.description;
+
+ public stringnullUri\WhatWg\Url::getUnicodeHost
+
+
+
+ Retrieves the host component as a &string;, which may contain Unicode characters.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the host component as a Unicode &string; if the host component exists, &null; is returned otherwise.
+
+
+
+
+ &reftitle.examples;
+
+ Uri\WhatWg\Url::getUnicodeHost basic example
+
+getUnicodeHost();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\WhatWg\Url::getAsciiHost
+ Uri\WhatWg\Url::withHost
+ Uri\Rfc3986\Uri::getRawHost
+ Uri\Rfc3986\Uri::getHost
+
+
+
+
diff --git a/reference/uri/whatwg/url/getusername.xml b/reference/uri/whatwg/url/getusername.xml
new file mode 100644
index 000000000000..7064581aa11f
--- /dev/null
+++ b/reference/uri/whatwg/url/getusername.xml
@@ -0,0 +1,81 @@
+
+
+
+ Uri\WhatWg\Url::getUsername
+ Retrieve the username component
+
+
+
+ &reftitle.description;
+
+ public stringnullUri\WhatWg\Url::getUsername
+
+
+
+ Retrieves the username component.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the username component as a &string; if the username component exists, &null; is returned otherwise.
+
+
+
+
+ &reftitle.examples;
+
+ Uri\WhatWg\Url::getUsername basic example
+
+getUsername();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\WhatWg\Url::withUsername
+ Uri\Rfc3986\Uri::getRawUsername
+ Uri\Rfc3986\Uri::getUsername
+
+
+
+
diff --git a/reference/uri/whatwg/url/parse.xml b/reference/uri/whatwg/url/parse.xml
new file mode 100644
index 000000000000..4c3dd96ba909
--- /dev/null
+++ b/reference/uri/whatwg/url/parse.xml
@@ -0,0 +1,116 @@
+
+
+
+ Uri\WhatWg\Url::parse
+ Parse a URL
+
+
+
+ &reftitle.description;
+
+ public static staticnullUri\WhatWg\Url::parse
+ stringuri
+ Uri\WhatWg\UrlnullbaseUrl&null;
+ arrayerrors&null;
+
+
+ Parses a URL.
+
+
+
+
+ &reftitle.parameters;
+
+
+ uri
+
+
+ A valid URL string to parse (e.g. /foo or (e.g. https://example.com/foo).
+
+
+
+
+ baseUrl
+
+
+ When a &string; is passed, uri is applied on
+ baseUrl, if uri is a relative-URL string.
+ If either &null; is passed, or uri is a not a relative-URL string, then
+ baseUrl doesn't have any effect.
+
+
+
+
+ errors
+
+
+ An &array; to pass a list of Uri\WhatWg\UrlValidationError
+ instances by reference to provide extended information about the errors triggered during parsing.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ Returns a Uri\WhatWg\Url instance on success, or &null; on failure.
+
+
+
+
+ &reftitle.examples;
+
+ Uri\WhatWg\Url::parse basic example
+
+toAsciiString();
+} else {
+ echo "Invalid URL"
+}
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\WhatWg\Url::__construct
+ Uri\WhatWg\Url::resolve
+ Uri\Rfc3986\Uri::parse
+
+
+
+
diff --git a/reference/uri/whatwg/url/resolve.xml b/reference/uri/whatwg/url/resolve.xml
new file mode 100644
index 000000000000..4132ecd7a782
--- /dev/null
+++ b/reference/uri/whatwg/url/resolve.xml
@@ -0,0 +1,107 @@
+
+
+
+ Uri\WhatWg\Url::resolve
+ Resolve a URL with the current object as the base URL
+
+
+
+ &reftitle.description;
+
+ public staticUri\WhatWg\Url::resolve
+ stringuri
+ arraysoftErrors&null;
+
+
+ Resolves a valid URL string - which may potentially be a relative-URL string - with the current object as the base URL.
+
+
+
+
+ &reftitle.parameters;
+
+
+ uri
+
+
+ A valid URL string (e.g. /foo or (e.g. https://example.com/foo) to apply on
+ the current object.
+
+
+
+
+ softErrors
+
+
+ An &array; to pass a list of Uri\WhatWg\UrlValidationError
+ instances by reference to provide extended information about the soft errors triggered during reference resolution.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ A new Uri\WhatWg\Url instance.
+
+
+
+
+ &reftitle.errors;
+ &uri.errors.invalidUrlException;
+
+
+
+ &reftitle.examples;
+
+ Uri\WhatWg\Url::resolve basic example
+
+resolve("/foo");
+
+echo $url->toAsciiString();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\WhatWg\Url::__construct
+ Uri\WhatWg\Url::parse
+ Uri\Rfc3986\Uri::resolve
+
+
+
+
diff --git a/reference/uri/whatwg/url/serialize.xml b/reference/uri/whatwg/url/serialize.xml
new file mode 100644
index 000000000000..495df36fc971
--- /dev/null
+++ b/reference/uri/whatwg/url/serialize.xml
@@ -0,0 +1,58 @@
+
+
+
+ Uri\WhatWg\Url::__serialize
+ Serialize the Url object
+
+
+
+ &reftitle.description;
+
+ public arrayUri\WhatWg\Url::__serialize
+
+
+
+ Serializes the Uri\WhatWg\Url object.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the serialized URL as an &array;.
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\WhatWg\Url::__unserialize
+ Uri\Rfc3986\Uri::__serialize
+
+
+
+
diff --git a/reference/uri/whatwg/url/toasciistring.xml b/reference/uri/whatwg/url/toasciistring.xml
new file mode 100644
index 000000000000..f53c6f5b2016
--- /dev/null
+++ b/reference/uri/whatwg/url/toasciistring.xml
@@ -0,0 +1,82 @@
+
+
+
+ Uri\WhatWg\Url::toAsciiString
+ Recompose the URL as an ASCII &string;
+
+
+
+ &reftitle.description;
+
+ public stringUri\WhatWg\Url::toAsciiString
+
+
+
+ Recomposes the URL as an ASCII &string;, using punycode transcription instead of Unicode characters in the
+ host component.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the recomposed URL as an ASCII &string;.
+
+
+
+
+ &reftitle.examples;
+
+ Uri\WhatWg\Url::toAsciiString basic example
+
+toAsciiString();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\WhatWg\Url::toUnicodeString
+ Uri\Rfc3986\Uri::toRawString
+ Uri\Rfc3986\Uri::toString
+
+
+
+
diff --git a/reference/uri/whatwg/url/tounicodestring.xml b/reference/uri/whatwg/url/tounicodestring.xml
new file mode 100644
index 000000000000..c45b34fd134a
--- /dev/null
+++ b/reference/uri/whatwg/url/tounicodestring.xml
@@ -0,0 +1,81 @@
+
+
+
+ Uri\WhatWg\Url::toUnicodeString
+ Recompose the URL as a Unicode &string;
+
+
+
+ &reftitle.description;
+
+ public stringUri\WhatWg\Url::toUnicodeString
+
+
+
+ Recomposes the URL as a &string;, where the host component may contain Unicode characters.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the recomposed URL as a Unicode &string;.
+
+
+
+
+ &reftitle.examples;
+
+ Uri\WhatWg\Url::toUnicodeString basic example
+
+toUnicodeString();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\WhatWg\Url::toAsciiString
+ Uri\Rfc3986\Uri::toRawString
+ Uri\Rfc3986\Uri::toString
+
+
+
+
diff --git a/reference/uri/whatwg/url/unserialize.xml b/reference/uri/whatwg/url/unserialize.xml
new file mode 100644
index 000000000000..0a18cacb8718
--- /dev/null
+++ b/reference/uri/whatwg/url/unserialize.xml
@@ -0,0 +1,77 @@
+
+
+
+ Uri\WhatWg\Url::__unserialize
+ Deserialize the data parameter into a Url object
+
+
+
+ &reftitle.description;
+
+ public voidUri\WhatWg\Url::__unserialize
+ arraydata
+
+
+ Deserializes a data parameter into a Uri\WhatWg\Url object.
+
+
+
+
+ &reftitle.parameters;
+
+
+ data
+
+
+ The serialized data as an array.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ &return.void;
+
+
+
+
+ &reftitle.errors;
+
+ If the __unserialize method is called on an already existing URL, Error
+ is thrown.
+
+
+ &uri.errors.invalidUriException;
+
+
+
+ &reftitle.seealso;
+
+ Uri\WhatWg\Url::__serialize
+ Uri\Rfc3986\Uri::__unserialize
+
+
+
+
diff --git a/reference/uri/whatwg/url/withfragment.xml b/reference/uri/whatwg/url/withfragment.xml
new file mode 100644
index 000000000000..c20aad294c73
--- /dev/null
+++ b/reference/uri/whatwg/url/withfragment.xml
@@ -0,0 +1,95 @@
+
+
+
+ Uri\WhatWg\Url::withFragment
+ Modify the fragment component
+
+
+
+ &reftitle.description;
+
+ public staticUri\WhatWg\Url::withFragment
+ stringnullfragment
+
+
+ Creates a new URL and modifies its fragment component.
+
+
+
+
+ &reftitle.parameters;
+
+
+ fragment
+
+
+ New fragment component.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ The modified Uri\WhatWg\Url instance.
+
+
+
+
+ &reftitle.errors;
+ &uri.errors.invalidUrlException;
+
+
+
+ &reftitle.examples;
+
+ Uri\WhatWg\Url::withFragment basic example
+
+withFragment("bar");
+
+echo $url->getFragment();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\WhatWg\Url::getFragment
+ Uri\Rfc3986\Uri::withFragment
+
+
+
+
diff --git a/reference/uri/whatwg/url/withhost.xml b/reference/uri/whatwg/url/withhost.xml
new file mode 100644
index 000000000000..1282e4858ad9
--- /dev/null
+++ b/reference/uri/whatwg/url/withhost.xml
@@ -0,0 +1,96 @@
+
+
+
+ Uri\WhatWg\Url::withHost
+ Modify the host component
+
+
+
+ &reftitle.description;
+
+ public staticUri\WhatWg\Url::withHost
+ stringnullhost
+
+
+ Creates a new URL and modifies its host component.
+
+
+
+
+ &reftitle.parameters;
+
+
+ host
+
+
+ New host component.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ The modified Uri\WhatWg\Url instance.
+
+
+
+
+ &reftitle.errors;
+ &uri.errors.invalidUrlException;
+
+
+
+ &reftitle.examples;
+
+ Uri\WhatWg\Url::withHost basic example
+
+withHost("example.net");
+
+echo $url->getAsciiHost();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\WhatWg\Url::getAsciiHost
+ Uri\WhatWg\Url::getUnicodeHost
+ Uri\Rfc3986\Uri::withHost
+
+
+
+
diff --git a/reference/uri/whatwg/url/withpassword.xml b/reference/uri/whatwg/url/withpassword.xml
new file mode 100644
index 000000000000..c4a880b7e2a2
--- /dev/null
+++ b/reference/uri/whatwg/url/withpassword.xml
@@ -0,0 +1,96 @@
+
+
+
+ Uri\WhatWg\Url::withPassword
+ Modify the password component
+
+
+
+ &reftitle.description;
+
+ public staticUri\WhatWg\Url::withPassword
+ #[\SensitiveParameter]stringnullpassword
+
+
+ Creates a new URL and modifies its password component.
+
+
+
+
+ &reftitle.parameters;
+
+
+ password
+
+
+ New password component.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ The modified Uri\WhatWg\Url instance.
+
+
+
+
+ &reftitle.errors;
+ &uri.errors.invalidUrlException;
+
+
+
+ &reftitle.examples;
+
+ Uri\WhatWg\Url::withPassword basic example
+
+withPassword("pass");
+
+echo $url->getPassword();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\WhatWg\Url::getPassword
+ Uri\WhatWg\Url::getUsername
+ Uri\Rfc3986\Uri::withUserInfo
+
+
+
+
diff --git a/reference/uri/whatwg/url/withpath.xml b/reference/uri/whatwg/url/withpath.xml
new file mode 100644
index 000000000000..0cb01283d6af
--- /dev/null
+++ b/reference/uri/whatwg/url/withpath.xml
@@ -0,0 +1,95 @@
+
+
+
+ Uri\WhatWg\Url::withPath
+ Modify the path component
+
+
+
+ &reftitle.description;
+
+ public staticUri\WhatWg\Url::withPath
+ stringpath
+
+
+ Creates a new URL and modifies its path component.
+
+
+
+
+ &reftitle.parameters;
+
+
+ path
+
+
+ New path component.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ The modified Uri\WhatWg\Url instance.
+
+
+
+
+ &reftitle.errors;
+ &uri.errors.invalidUrlException;
+
+
+
+ &reftitle.examples;
+
+ Uri\WhatWg\Url::withPath basic example
+
+withPath("/baz");
+
+echo $url->getPath();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\WhatWg\Url::getPath
+ Uri\Rfc3986\Uri::withPath
+
+
+
+
diff --git a/reference/uri/whatwg/url/withport.xml b/reference/uri/whatwg/url/withport.xml
new file mode 100644
index 000000000000..400eabac1e06
--- /dev/null
+++ b/reference/uri/whatwg/url/withport.xml
@@ -0,0 +1,95 @@
+
+
+
+ Uri\WhatWg\Url::withPort
+ Modify the port component
+
+
+
+ &reftitle.description;
+
+ public staticUri\WhatWg\Url::withPort
+ intnullport
+
+
+ Creates a new URL and modifies its port component.
+
+
+
+
+ &reftitle.parameters;
+
+
+ port
+
+
+ New port component.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ The modified Uri\WhatWg\Url instance.
+
+
+
+
+ &reftitle.errors;
+ &uri.errors.invalidUrlException;
+
+
+
+ &reftitle.examples;
+
+ Uri\WhatWg\Url::withPort basic example
+
+withPort(443);
+
+echo $url->getPort();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\WhatWg\Url::getPort
+ Uri\Rfc3986\Uri::withPort
+
+
+
+
diff --git a/reference/uri/whatwg/url/withquery.xml b/reference/uri/whatwg/url/withquery.xml
new file mode 100644
index 000000000000..627719c7abb5
--- /dev/null
+++ b/reference/uri/whatwg/url/withquery.xml
@@ -0,0 +1,95 @@
+
+
+
+ Uri\WhatWg\Url::withQuery
+ Modify the query component
+
+
+
+ &reftitle.description;
+
+ public staticUri\WhatWg\Url::withQuery
+ stringnullquery
+
+
+ Creates a new URL and modifies its query component.
+
+
+
+
+ &reftitle.parameters;
+
+
+ query
+
+
+ New query component.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ The modified Uri\WhatWg\Url instance.
+
+
+
+
+ &reftitle.errors;
+ &uri.errors.invalidUrlException;
+
+
+
+ &reftitle.examples;
+
+ Uri\WhatWg\Url::withQuery basic example
+
+withQuery("foo=baz");
+
+echo $url->getQuery();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\WhatWg\Url::getQuery
+ Uri\Rfc3986\Uri::withQuery
+
+
+
+
diff --git a/reference/uri/whatwg/url/withscheme.xml b/reference/uri/whatwg/url/withscheme.xml
new file mode 100644
index 000000000000..4abce98b77d1
--- /dev/null
+++ b/reference/uri/whatwg/url/withscheme.xml
@@ -0,0 +1,95 @@
+
+
+
+ Uri\WhatWg\Url::withScheme
+ Modify the scheme component
+
+
+
+ &reftitle.description;
+
+ public staticUri\WhatWg\Url::withScheme
+ stringscheme
+
+
+ Creates a new URL and modifies its scheme component.
+
+
+
+
+ &reftitle.parameters;
+
+
+ scheme
+
+
+ New scheme component.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ The modified Uri\WhatWg\Url instance.
+
+
+
+
+ &reftitle.errors;
+ &uri.errors.invalidUrlException;
+
+
+
+ &reftitle.examples;
+
+ Uri\WhatWg\Url::withScheme basic example
+
+withScheme("http");
+
+echo $url->getScheme();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\WhatWg\Url::getScheme
+ Uri\Rfc3986\Uri::withScheme
+
+
+
+
diff --git a/reference/uri/whatwg/url/withusername.xml b/reference/uri/whatwg/url/withusername.xml
new file mode 100644
index 000000000000..8c27bbdbfc58
--- /dev/null
+++ b/reference/uri/whatwg/url/withusername.xml
@@ -0,0 +1,97 @@
+
+
+
+ Uri\WhatWg\Url::withUsername
+ Modify the username component
+
+
+
+ &reftitle.description;
+
+ public staticUri\WhatWg\Url::withUsername
+ stringnullusername
+
+
+ Creates a new URL and modifies its username component.
+
+
+
+
+ &reftitle.parameters;
+
+
+ username
+
+
+ New username component.
+
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ The modified Uri\WhatWg\Url instance.
+
+
+
+
+ &reftitle.errors;
+ &uri.errors.invalidUrlException;
+
+
+
+ &reftitle.examples;
+
+ Uri\WhatWg\Url::withUsername basic example
+
+withUsername("usr");
+
+echo $url->getUsername();
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ Uri\WhatWg\Url::getUsername
+ Uri\WhatWg\Url::getPassword
+ Uri\Rfc3986\Uri::withUserInfo
+
+
+
+
diff --git a/reference/uri/whatwg/urlvalidationerror/construct.xml b/reference/uri/whatwg/urlvalidationerror/construct.xml
new file mode 100644
index 000000000000..a201d07c0292
--- /dev/null
+++ b/reference/uri/whatwg/urlvalidationerror/construct.xml
@@ -0,0 +1,70 @@
+
+
+
+ Uri\WhatWg\UrlValidationError::__construct
+ Construct a UrlValidationError object
+
+
+
+ &reftitle.description;
+
+ public Uri\WhatWg\UrlValidationError::__construct
+ stringcontext
+ Uri\WhatWg\UrlValidationErrorTypetype
+ boolfailure
+
+
+ Constructs a Uri\WhatWg\UrlValidationError object.
+
+
+
+
+ &reftitle.parameters;
+
+
+ context
+
+
+ The input URL at the point where the error was detected.
+
+
+
+
+ type
+
+
+ A Uri\WhatWg\UrlValidationErrorType instance.
+
+
+
+
+ failure
+
+
+ Whether the error refers to a failure, or a soft-error.
+
+
+
+
+
+
+