Ouzo\Http\AcceptHeaderParser::parse PHP Method

parse() public static method

public static parse ( $data )
    public static function parse($data)
    {
        $array = array();
        $items = Arrays::filterNotBlank(explode(',', $data));
        foreach ($items as $item) {
            $elements = explode(';', $item);
            $media = Arrays::first($elements);
            $params = array_slice($elements, 1);
            list($type, $subtype) = Arrays::map(explode('/', $media), Functions::trim());
            $q = Arrays::getValue(self::extractParams($params), 'q');
            $array[] = array('type' => $type, 'subtype' => $subtype, 'q' => $q);
        }
        usort($array, '\\Ouzo\\Http\\AcceptHeaderParser::_compare');
        return Arrays::toMap($array, function ($input) {
            return $input['type'] . '/' . $input['subtype'];
        }, function ($input) {
            return $input['q'];
        });
    }

Usage Example

 /**
  * @test
  */
 public function shouldReturnEmptyArrayForNull()
 {
     //when
     $parsed = AcceptHeaderParser::parse(null);
     //then
     $this->assertEmpty($parsed);
 }
All Usage Examples Of Ouzo\Http\AcceptHeaderParser::parse