public function ConfigEntityBase::__sleep in Drupal 10
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php \Drupal\Core\Config\Entity\ConfigEntityBase::__sleep()
- 9 core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php \Drupal\Core\Config\Entity\ConfigEntityBase::__sleep()
Overrides EntityBase::__sleep
1 call to ConfigEntityBase::__sleep()
- View::__sleep in core/
modules/ views/ src/ Entity/ View.php
3 methods override ConfigEntityBase::__sleep()
- EntityDisplayBase::__sleep in core/
lib/ Drupal/ Core/ Entity/ EntityDisplayBase.php - FieldConfigBase::__sleep in core/
lib/ Drupal/ Core/ Field/ FieldConfigBase.php - Implements the magic __sleep() method.
- View::__sleep in core/
modules/ views/ src/ Entity/ View.php
File
- core/
lib/ Drupal/ Core/ Config/ Entity/ ConfigEntityBase.php, line 342
Class
Namespace
Drupal\Core\Config\EntityCode
public function __sleep() {
$keys_to_unset = [];
if ($this instanceof EntityWithPluginCollectionInterface) {
// Get the plugin collections first, so that the properties are
// initialized in $vars and can be found later.
$plugin_collections = $this
->getPluginCollections();
$vars = get_object_vars($this);
foreach ($plugin_collections as $plugin_config_key => $plugin_collection) {
// Save any changes to the plugin configuration to the entity.
$this
->set($plugin_config_key, $plugin_collection
->getConfiguration());
// If the plugin collections are stored as properties on the entity,
// mark them to be unset.
$keys_to_unset += array_filter($vars, function ($value) use ($plugin_collection) {
return $plugin_collection === $value;
});
}
}
$vars = parent::__sleep();
if (!empty($keys_to_unset)) {
$vars = array_diff($vars, array_keys($keys_to_unset));
}
return $vars;
}