Ejemplo n.º 1
0
 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());
 }
Ejemplo n.º 2
0
 protected function getContent(RelationMetadataInterface $relationMetadata, $object)
 {
     $provider = $this->container->get($relationMetadata->getContent()->getProviderId());
     $arguments = $this->parametersFactory->createParameters($object, $relationMetadata->getContent()->getProviderArguments());
     return call_user_func_array(array($provider, $relationMetadata->getContent()->getProviderMethod()), $arguments);
 }
 protected function addRelationRelations(Event $event, $content, RelationMetadataInterface $relationMetadata)
 {
     $parameters = $this->parametersFactory->createParameters($event->getObject(), $relationMetadata->getParams());
     $this->relationsManager->addBasicRelations($content, $relationMetadata->getRoute(), $parameters);
 }