本文整理汇总了PHP中Drupal\Core\Entity\ContentEntityInterface::referencedEntities方法的典型用法代码示例。如果您正苦于以下问题:PHP ContentEntityInterface::referencedEntities方法的具体用法?PHP ContentEntityInterface::referencedEntities怎么用?PHP ContentEntityInterface::referencedEntities使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Drupal\Core\Entity\ContentEntityInterface
的用法示例。
在下文中一共展示了ContentEntityInterface::referencedEntities方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getEntityReferencesRecursive
/**
* Returns all referenced entities of an entity.
*
* This method is also recursive to support usecases like a node -> media
* -> file.
*
* @param \Drupal\Core\Entity\ContentEntityInterface $entity
* The entity.
* @param int $depth
* Guard against infinite recursion.
*
* @return \Drupal\Core\Entity\EntityInterface[]
*/
protected function getEntityReferencesRecursive(ContentEntityInterface $entity, $depth = 0)
{
$entity_dependencies = $entity->referencedEntities();
foreach ($entity_dependencies as $id => $dependent_entity) {
// Config entities should not be exported but rather provided by default
// config.
if ($dependent_entity instanceof ConfigEntityInterface) {
unset($entity_dependencies[$id]);
} else {
$entity_dependencies = array_merge($entity_dependencies, $this->getEntityReferencesRecursive($dependent_entity, $depth + 1));
}
}
// Build in some support against infinite recursion.
if ($depth > 5) {
return $entity_dependencies;
}
return array_unique($entity_dependencies, SORT_REGULAR);
}