类 ContentTypeNegotiation
从应用程序提供的和请求在其 Accept 头中包含的内容协商首选的内容类型。
命名空间: Cake\Http
方法摘要
-
acceptLanguage() public
检查请求是否接受给定的语言代码。
-
acceptedLanguages() public
获取已规范化的接受语言列表
-
parseAccept() public
解析具有限定符选项的 Accept* 标头。
-
parseAcceptLanguage() public
解析 Accept-Language 标头
-
parseQualifiers() protected
将标头值解析为首选项 => 值映射
-
preferredType() public
从请求中获取最喜欢的内容类型。
方法详细信息
acceptLanguage() ¶ public
acceptLanguage(Psr\Http\Message\RequestInterface $request, string $lang): bool
检查请求是否接受给定的语言代码。
请求中的语言代码将被规范化为小写,并将 _
替换为 -
。
参数
-
Psr\Http\Message\RequestInterface
$request 要从中读取标头的请求。
-
string
$lang 要检查的语言代码。
返回
bool
acceptedLanguages() ¶ public
acceptedLanguages(Psr\Http\Message\RequestInterface $request): list<string>
获取已规范化的接受语言列表
请求中的语言代码将被规范化为小写,并将 _
替换为 -
。
参数
-
Psr\Http\Message\RequestInterface
$request 要从中读取标头的请求。
返回
list<string>
parseAccept() ¶ public
parseAccept(Psr\Http\Message\RequestInterface $request): array<string, list<string>>
解析具有限定符选项的 Accept* 标头。
只提取限定符,任何其他接受扩展将被丢弃,因为它们不经常使用。
参数
-
Psr\Http\Message\RequestInterface
$request 要从中获取接受的请求。
返回
array<string, list<string>>
parseAcceptLanguage() ¶ public
parseAcceptLanguage(Psr\Http\Message\RequestInterface $request): array<string, list<string>>
解析 Accept-Language 标头
只提取限定符,其他扩展将被忽略,因为它们不经常使用。
参数
-
Psr\Http\Message\RequestInterface
$request 要从中获取接受的请求。
返回
array<string, list<string>>
parseQualifiers() ¶ protected
parseQualifiers(string $header): array<string, list<string>>
将标头值解析为首选项 => 值映射
参数
-
string
$header 要解析的标头值
返回
array<string, list<string>>
preferredType() ¶ public
preferredType(Psr\Http\Message\RequestInterface $request, list<string> $choices = []): string|null
从请求中获取最喜欢的内容类型。
解析 Accept 标头首选项并返回最喜欢的类型。如果多个类型在首选项中并列,则将返回具有该首选项值的第一个类型。
当请求没有 Accept 标头时,您可以预期为 null。
参数
-
Psr\Http\Message\RequestInterface
$request 要使用的请求。
-
list<string>
$choices optional 支持的内容类型选择。
返回
string|null