You are here

public function ConfigEntityBase::isSyncing in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php \Drupal\Core\Config\Entity\ConfigEntityBase::isSyncing()

Returns whether this entity is being changed as part of an import process.

If you are writing code that responds to a change in this entity (insert, update, delete, presave, etc.), and your code would result in a configuration change (whether related to this configuration entity, another configuration entity, or non-entity configuration) or your code would result in a change to this entity itself, you need to check and see if this entity change is part of an import process, and skip executing your code if that is the case.

For example, \Drupal\node\Entity\NodeType::postSave() adds the default body field to newly created node type configuration entities, which is a configuration change. You would not want this code to run during an import, because imported entities were already given the body field when they were originally created, and the imported configuration includes all of their currently-configured fields. On the other hand, \Drupal\field\Entity\FieldStorageConfig::preSave() and the methods it calls make sure that the storage tables are created or updated for the field storage configuration entity, which is not a configuration change, and it must be done whether due to an import or not. So, the first method should check $entity->isSyncing() and skip executing if it returns TRUE, and the second should not perform this check.

Return value

bool TRUE if the configuration entity is being created, updated, or deleted through the import process.

Overrides ConfigEntityInterface::isSyncing

6 calls to ConfigEntityBase::isSyncing()
ConfigEntityBase::preSave in core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php
Acts on an entity before the presave hook is invoked.
ConfigurableLanguage::postSave in core/modules/language/src/Entity/ConfigurableLanguage.php
Acts on a saved entity before the insert or update hook is invoked.
FilterFormat::postSave in core/modules/filter/src/Entity/FilterFormat.php
Acts on a saved entity before the insert or update hook is invoked.
ImageStyle::postSave in core/modules/image/src/Entity/ImageStyle.php
Acts on a saved entity before the insert or update hook is invoked.
ShortcutSet::postSave in core/modules/shortcut/src/Entity/ShortcutSet.php
Acts on a saved entity before the insert or update hook is invoked.

... See full list

File

core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php, line 223
Contains \Drupal\Core\Config\Entity\ConfigEntityBase.

Class

ConfigEntityBase
Defines a base configuration entity class.

Namespace

Drupal\Core\Config\Entity

Code

public function isSyncing() {
  return $this->isSyncing;
}