public function createLinkFromMetadata(RelationMetadataInterface $relationMetadata, $object) { if (null !== $relationMetadata->getUrl()) { $href = $relationMetadata->getUrl(); if (in_array(substr($href, 0, 1), array('.', '['))) { $propertyPath = new PropertyPath(preg_replace('/^\\./', '', $href)); $href = $this->propertyAccessor->getValue($object, $propertyPath); } } else { $href = $this->generateUrl($relationMetadata->getRoute(), $this->parametersFactory->createParameters($object, $relationMetadata->getParams()), $relationMetadata->getOptions()); } return $this->createLink($relationMetadata->getRel(), $href, $relationMetadata->getAttributes()); }
protected function addRelationRelations(Event $event, $content, RelationMetadataInterface $relationMetadata) { $parameters = $this->parametersFactory->createParameters($event->getObject(), $relationMetadata->getParams()); $this->relationsManager->addBasicRelations($content, $relationMetadata->getRoute(), $parameters); }