public function ConfigStorageController::delete

Implements Drupal\Core\Entity\EntityStorageControllerInterface::delete().

Overrides EntityStorageControllerInterface::delete

File

drupal/core/lib/Drupal/Core/Config/Entity/ConfigStorageController.php, line 242
Definition of Drupal\Core\Config\Entity\ConfigStorageController.

Class

ConfigStorageController
Defines the storage controller class for configuration entities.

Namespace

Drupal\Core\Config\Entity

Code

public function delete(array $entities) {
  if (!$entities) {

    // If no IDs or invalid IDs were passed, do nothing.
    return;
  }
  $this
    ->preDelete($entities);
  foreach ($entities as $id => $entity) {
    $this
      ->invokeHook('predelete', $entity);
  }
  foreach ($entities as $id => $entity) {
    $config = config($this->entityInfo['config_prefix'] . '.' . $entity
      ->id());
    $config
      ->delete();

    // Remove the entity from the manifest file.
    config('manifest.' . $this->entityInfo['config_prefix'])
      ->clear($entity
      ->id())
      ->save();
  }
  $this
    ->postDelete($entities);
  foreach ($entities as $id => $entity) {
    $this
      ->invokeHook('delete', $entity);
  }
}