/** * Builds a LinkHeader instance from a string. * * @param string $headerValue value of complete header * * @return LinkHeader */ public static function fromString($headerValue) { return new self(array_map(function ($itemValue) use(&$index) { $item = LinkHeaderItem::fromString(trim($itemValue)); return $item; }, preg_split('/(".+?"|[^,]+)(?:,|$)/', $headerValue, 0, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE))); }
/** * test extracting basic header from string * * @dataProvider headerValueProvider * * @param string $itemValue String to be transcoded to a \Graviton\RestBundle\HttpFoundation\LinkHeaderItem * @param string $relation Name of the relation defined by the $itemValue * * @return void */ public function testFromString($itemValue, $relation = '') { $linkHeaderItem = LinkHeaderItem::fromString($itemValue); $this->assertInstanceOf('Graviton\\RestBundle\\HttpFoundation\\LinkHeaderItem', $linkHeaderItem); $this->assertEquals(self::URI, $linkHeaderItem->getUri()); $this->assertEquals($relation, $linkHeaderItem->getRel()); }