类 UriFactory
用于创建 URI 实例的工厂类。
命名空间: Cake\Http
方法摘要
-
createUri() public
创建一个新的 URI。
-
getBase() protected static
计算基本目录和 Webroot 目录。
-
marshalUriAndBaseFromSapi() public static
从提供的服务器数据获取新的 Uri 实例和基本信息。
-
updatePath() protected static
更新请求 URI 以删除基本目录。
方法详情
createUri() ¶ public
createUri(string $uri = ''): UriInterface
创建一个新的 URI。
参数
-
string
$uri optional 要解析的 URI。
返回值
UriInterface
抛出
InvalidArgumentException
如果给定的 URI 无法解析。
getBase() ¶ protected static
getBase(Psr\Http\Message\UriInterface $uri, array $server): array
计算基本目录和 Webroot 目录。
参数
-
Psr\Http\Message\UriInterface
$uri Uri 实例。
-
array
$server 要使用的 SERVER 数据。
返回值
array
marshalUriAndBaseFromSapi() ¶ public static
marshalUriAndBaseFromSapi(array|null $server = null): array
从提供的服务器数据获取新的 Uri 实例和基本信息。
参数
-
array|null
$server optional 用于构建 Uri 的服务器数据的数组。如果 $server 参数为 null,则将使用 $_SERVER。
返回值
array
updatePath() ¶ protected static
updatePath(string $base, Psr\Http\Message\UriInterface $uri): Psr\Http\Message\UriInterface
更新请求 URI 以删除基本目录。
参数
-
string
$base 要删除的基本路径。
-
Psr\Http\Message\UriInterface
$uri 要更新的 uri。
返回值
Psr\Http\Message\UriInterface