8.2.x EntityType.php public EntityType::getBundleConfigDependency($bundle)
8.0.x EntityType.php public EntityType::getBundleConfigDependency($bundle)
8.1.x EntityType.php public EntityType::getBundleConfigDependency($bundle)
8.3.x EntityType.php public EntityType::getBundleConfigDependency($bundle)

Gets the config dependency info for this entity, if any exists.

Parameters

string $bundle: The bundle name.

Return value

array An associative array containing the following keys:

  • 'type': The config dependency type (e.g. 'module', 'config').
  • 'name': The name of the config dependency.

Overrides EntityTypeInterface::getBundleConfigDependency

File

core/lib/Drupal/Core/Entity/EntityType.php, line 862

Class

EntityType
Provides an implementation of an entity type and its metadata.

Namespace

Drupal\Core\Entity

Code

public function getBundleConfigDependency($bundle) {
  // If this entity type uses entities to manage its bundles then depend on
  // the bundle entity.
  if ($bundle_entity_type_id = $this->getBundleEntityType()) {
    if (!$bundle_entity = \Drupal::entityManager()->getStorage($bundle_entity_type_id)->load($bundle)) {
      throw new \LogicException(sprintf('Missing bundle entity, entity type %s, entity id %s.', $bundle_entity_type_id, $bundle));
    }
    $config_dependency = [
      'type' => 'config',
      'name' => $bundle_entity->getConfigDependencyName(),
    ];
  }
  else {
    // Depend on the provider of the entity type.
    $config_dependency = [
      'type' => 'module',
      'name' => $this->getProvider(),
    ];
  }

  return $config_dependency;
}