-
Notifications
You must be signed in to change notification settings - Fork 10
Negotiation
Stefano Azzolini edited this page Feb 26, 2016
·
2 revisions
The Negotiation is a module for handling Content Negotiation.
See Reference : RFC 7231
Note: You can use
*
as wildcards for matching a family of choices.
$need = 'image/*;q=0.9,*/*;q=0.2';
$offer = 'text/html,svg/xml,image/svg+xml';
echo Negotiation::bestMatch($need,$offer);
image/svg+xml
Negotiation class automatically orders by priority based on q
parameter.
$negotiatior = new Negotiation('en-US;q=0.3,it,en;q=0.4,es;q=0.9,de');
You can obtain the preferred response via the preferred
method.
echo $negotiatior->preferred();
it
Or get the best match against another RFC7231 query
echo $negotiatior->best('es,en-US');
es
false
will be returned if no match can be found.
Core is maintained by using the Semantic Versioning Specification (SemVer).
Copyright 2014-2016 Caffeina srl under the MIT license.
http://caffeina.com