function PathAliasStorage::invokeHook

Overrides ContentEntityStorageBase::invokeHook

File

core/modules/path_alias/src/PathAliasStorage.php, line 16

Class

PathAliasStorage
Defines the storage handler class for path_alias entities.

Namespace

Drupal\path_alias

Code

protected function invokeHook($hook, EntityInterface $entity) {
  parent::invokeHook($hook, $entity);
  // Invoke the deprecated hook_path_OPERATION() hooks.
  if ($hook === 'insert' || $hook === 'update' || $hook === 'delete') {
    $values = [
      'pid' => $entity->id(),
      'source' => $entity->getPath(),
      'alias' => $entity->getAlias(),
      'langcode' => $entity->language()
        ->getId(),
    ];
    if ($hook === 'update') {
      $values['original'] = [
        'pid' => $entity->id(),
        'source' => $entity->original
          ->getPath(),
        'alias' => $entity->original
          ->getAlias(),
        'langcode' => $entity->original
          ->language()
          ->getId(),
      ];
    }
    $this->moduleHandler()
      ->invokeAllDeprecated("It will be removed before Drupal 9.0.0. Use hook_ENTITY_TYPE_{$hook}() for the 'path_alias' entity type instead. See https://www.drupal.org/node/3013865.", 'path_' . $hook, [
      $values,
    ]);
  }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.