蛋白质 / 协商
处理内容协商的模块
1.0.3
2019-05-28 14:29 UTC
Requires
- php: ^7.2
This package is auto-updated.
Last update: 2024-08-29 05:06:47 UTC
README
蛋白质 | 协商
处理内容协商的模块。
参考: RFC 7231
安装
composer require proteins/negotiation
通过
use Proteins\Negotiation;
获取需求和供应之间的最佳匹配
注意:您可以使用
*
作为通配符来匹配一组选择。
$need = 'image/*;q=0.9,*/*;q=0.2'; $offer = 'text/html,svg/xml,image/svg+xml'; echo Negotiation::bestMatch($need,$offer);
image/svg+xml
首选和最佳匹配
协商类会根据q
参数自动按优先级排序。
$negotiatior = new Negotiation('en-US;q=0.3,it,en;q=0.4,es;q=0.9,de');
您可以通过preferred
方法获取首选响应。
echo $negotiatior->preferred();
it
或获取与另一个RFC7231查询的最佳匹配
echo $negotiatior->best('es,en-US');
es
如果没有找到匹配项,将返回false
。