Content and language negotiation written in PHP: GET parameters will overwrite accept header. Support for logging (monolog).
Install as a requirement using composer:
-
Add a composer.json in your root
-
Add a requirement:
{
"require" : {
"tdt/negotiators" : "1.0.*"
}
}
-
Install composer: http://getcomposer.com
-
run "composer install"
-
include vendor/autoload.php
$cn = new \tdt\negotiators\ContentNegotiator();
$format = $cn->pop();
$default_format = "json";
// $this->formatAllowed is a function you have to define yourself
while (!$this->formatAllowed($format) && $cn->hasNext()) {
$format = $cn->pop();
}
if(! $this->formatAllowed($format)){
throw new Exception("Could not find an appropriate formatter.");
}
// use $format further on
Using phpunit:
$ phpunit tests