Class UriFactory
Factory class for creating uri instances.
Namespace: Cake\Http
Method Summary
-
createUri() public
Create a new URI.
-
getBase() protected static
Calculate the base directory and webroot directory.
-
marshalUriAndBaseFromSapi() public static
Get a new Uri instance and base info from the provided server data.
-
updatePath() protected static
Updates the request URI to remove the base directory.
Method Detail
createUri() ¶ public
createUri(string $uri = ''): UriInterface
Create a new URI.
Parameters
-
string
$uri optional The URI to parse.
Returns
UriInterface
Throws
InvalidArgumentException
If the given URI cannot be parsed.
getBase() ¶ protected static
getBase(Psr\Http\Message\UriInterface $uri, array $server): array
Calculate the base directory and webroot directory.
Parameters
-
Psr\Http\Message\UriInterface
$uri The Uri instance.
-
array
$server The SERVER data to use.
Returns
array
marshalUriAndBaseFromSapi() ¶ public static
marshalUriAndBaseFromSapi(array|null $server = null): array
Get a new Uri instance and base info from the provided server data.
Parameters
-
array|null
$server optional Array of server data to build the Uri from. $_SERVER will be used if $server parameter is null.
Returns
array
updatePath() ¶ protected static
updatePath(string $base, Psr\Http\Message\UriInterface $uri): Psr\Http\Message\UriInterface
Updates the request URI to remove the base directory.
Parameters
-
string
$base The base path to remove.
-
Psr\Http\Message\UriInterface
$uri The uri to update.
Returns
Psr\Http\Message\UriInterface