public ConfigEntityBase::onDependencyRemoval(array $dependencies)
Informs the entity that entities it depends on will be deleted.
This method allows configuration entities to remove dependencies instead of being deleted themselves. Configuration entities can use this method to avoid being unnecessarily deleted during an extension uninstallation. For example, entity displays remove references to widgets and formatters if the plugin that supplies them depends on a module that is being uninstalled.
If this method returns TRUE then the entity needs to be re-saved by the caller for the changes to take effect. Implementations should not save the entity.
array $dependencies: An array of dependencies that will be deleted keyed by dependency type. Dependency types are, for example, entity, module and theme.
bool TRUE if the entity has been changed as a result, FALSE if not.
Overrides ConfigEntityInterface::onDependencyRemoval
\Drupal\Core\Config\Entity\ConfigDependencyManager
\Drupal\Core\Config\ConfigEntityBase::preDelete()
\Drupal\Core\Config\ConfigManager::uninstall()
\Drupal\Core\Entity\EntityDisplayBase::onDependencyRemoval()
public function onDependencyRemoval(array $dependencies) { $changed = FALSE; if (!empty($this->third_party_settings)) { $old_count = count($this->third_party_settings); $this->third_party_settings = array_diff_key($this->third_party_settings, array_flip($dependencies['module'])); $changed = $old_count != count($this->third_party_settings); } return $changed; }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Config!Entity!ConfigEntityBase.php/function/ConfigEntityBase::onDependencyRemoval/8.1.x