function ConfigEntityBase::calculateDependencies

Same name in other branches
  1. 9 core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php \Drupal\Core\Config\Entity\ConfigEntityBase::calculateDependencies()
  2. 10 core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php \Drupal\Core\Config\Entity\ConfigEntityBase::calculateDependencies()
  3. 11.x core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php \Drupal\Core\Config\Entity\ConfigEntityBase::calculateDependencies()

Overrides ConfigEntityInterface::calculateDependencies

14 calls to ConfigEntityBase::calculateDependencies()
Block::calculateDependencies in core/modules/block/src/Entity/Block.php
Calculates dependencies and stores them in the dependency property.
ConfigEntityBase::preSave in core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php
Acts on an entity before the presave hook is invoked.
ConfigTest::calculateDependencies in core/modules/config/tests/config_test/src/Entity/ConfigTest.php
Calculates dependencies and stores them in the dependency property.
ContentLanguageSettings::calculateDependencies in core/modules/language/src/Entity/ContentLanguageSettings.php
Calculates dependencies and stores them in the dependency property.
Editor::calculateDependencies in core/modules/editor/src/Entity/Editor.php
Calculates dependencies and stores them in the dependency property.

... See full list

13 methods override ConfigEntityBase::calculateDependencies()
Block::calculateDependencies in core/modules/block/src/Entity/Block.php
Calculates dependencies and stores them in the dependency property.
ConfigTest::calculateDependencies in core/modules/config/tests/config_test/src/Entity/ConfigTest.php
Calculates dependencies and stores them in the dependency property.
ContentLanguageSettings::calculateDependencies in core/modules/language/src/Entity/ContentLanguageSettings.php
Calculates dependencies and stores them in the dependency property.
Editor::calculateDependencies in core/modules/editor/src/Entity/Editor.php
Calculates dependencies and stores them in the dependency property.
EntityDisplayBase::calculateDependencies in core/lib/Drupal/Core/Entity/EntityDisplayBase.php
Calculates dependencies and stores them in the dependency property.

... See full list

File

core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php, line 354

Class

ConfigEntityBase
Defines a base configuration entity class.

Namespace

Drupal\Core\Config\Entity

Code

public function calculateDependencies() {
    // All dependencies should be recalculated on every save apart from enforced
    // dependencies. This ensures stale dependencies are never saved.
    $this->dependencies = array_intersect_key($this->dependencies, [
        'enforced' => '',
    ]);
    if ($this instanceof EntityWithPluginCollectionInterface) {
        // Configuration entities need to depend on the providers of any plugins
        // that they store the configuration for.
        foreach ($this->getPluginCollections() as $plugin_collection) {
            foreach ($plugin_collection as $instance) {
                $this->calculatePluginDependencies($instance);
            }
        }
    }
    if ($this instanceof ThirdPartySettingsInterface) {
        // Configuration entities need to depend on the providers of any third
        // parties that they store the configuration for.
        foreach ($this->getThirdPartyProviders() as $provider) {
            $this->addDependency('module', $provider);
        }
    }
    return $this;
}

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