43081j/php-negotiator

最小化PHP内容协商库

安装: 317

依赖: 0

建议者: 0

安全性: 0

星标: 4

关注者: 3

分支: 0

开放问题: 0

类型:项目

dev-master 2013-10-21 14:11 UTC

This package is not auto-updated.

Last update: 2024-09-24 01:54:24 UTC


README

这是一个最小化的PHP内容协商库,用于处理常见的头部信息,如媒体类型、编码、字符集等。

该库借鉴了Negotiator中的许多概念。

接受(媒体类型)

require 'vendor/autoload.php';

$negotiator = new Negotiator\Parser([
	'accept-charset' => 'utf-8, iso-8859-1;q=0.8, utf-7;q=0.2',
	'accept' => 'text/html, application/*;q=0.2, image/jpeg;q=0.8',
	'accept-language' => 'en;q=0.8, es, pt',
	'accept-encoding' => 'gzip, compress;q=0.2, identity;q=0.5',
]);

$available = ['text/html', 'text/plain', 'application/json'];

$negotiator->preferredMediaTypes();
// ['text/html', 'image/jpeg', 'application/*']

$negotiator->preferredMediaTypes($available);
// ['text/html', 'application/json']

$negotiator->preferredMediaType($available);
// 'text/html'

请注意,您必须自行检索头部信息,并将键名标准化为小写形式(例如,'accept' 与 'Accept')。

方法

preferredMediaTypes($available)

返回一个按优先级排序的偏好媒体类型数组,并可选地从一组可用类型中选择。

preferredMediaType($available)

返回最高优先级的偏好媒体类型字符串,并可选地从一组可用类型中选择。

preferredLanguages($available)

返回一个按优先级排序的偏好语言数组,并可选地从一组可用语言中选择。

preferredLanguage($available)

返回最高优先级的偏好语言字符串,并可选地从一组可用语言中选择。

preferredCharsets($available)

返回一个按优先级排序的偏好字符集数组,并可选地从一组可用字符集中选择。

preferredCharset($available)

返回最高优先级的偏好字符集字符串,并可选地从一组可用字符集中选择。

preferredEncodings($available)

返回一个按优先级排序的偏好编码数组,并可选地从一组可用编码中选择。

preferredEncoding($available)

返回最高优先级的偏好编码字符串,并可选地从一组可用编码中选择。