You are here

public function EntityBase::uriRelationships in Drupal 8

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Entity/EntityBase.php \Drupal\Core\Entity\EntityBase::uriRelationships()
  2. 10 core/lib/Drupal/Core/Entity/EntityBase.php \Drupal\Core\Entity\EntityBase::uriRelationships()

Gets a list of URI relationships supported by this entity.

Return value

string[] An array of link relationships supported by this entity.

Overrides EntityInterface::uriRelationships

File

core/lib/Drupal/Core/Entity/EntityBase.php, line 340

Class

EntityBase
Defines a base entity class.

Namespace

Drupal\Core\Entity

Code

public function uriRelationships() {
  return array_filter(array_keys($this
    ->linkTemplates()), function ($link_relation_type) {

    // It's not guaranteed that every link relation type also has a
    // corresponding route. For some, additional modules or configuration may
    // be necessary. The interface demands that we only return supported URI
    // relationships.
    try {
      $this
        ->toUrl($link_relation_type)
        ->toString(TRUE)
        ->getGeneratedUrl();
    } catch (RouteNotFoundException $e) {
      return FALSE;
    } catch (MissingMandatoryParametersException $e) {
      return FALSE;
    }
    return TRUE;
  });
}