plus-8.x-4.x-dev/src/Traits/SerializationTrait.php
src/Traits/SerializationTrait.php
<?php namespace Drupal\plus\Traits; use Drupal\Core\DependencyInjection\DependencySerializationTrait; /** * Trait SerializationTrait. */ trait SerializationTrait { use DependencySerializationTrait { __sleep as traitSleep; } /** * {@inheritdoc} */ public function __sleep() { // Serialize dependencies. $this->traitSleep(); $serialize = $this->serializeProperties(); // Always serialize service identifiers from DependencySerializationTrait. $serialize[] = '_serviceIds'; $properties = []; foreach (array_keys(get_object_vars($this)) as $property) { // Check to see if property can be serialized. if (in_array($property, $serialize) && $property !== 'sleepWakeupKeepProperties') { $properties[] = $property; } // Otherwise, unset the property for good measure. else { unset($this->$property); } } return $properties; } /** * Retrieves the property names that should be serialized. * * @return array * An indexed array of property names to keep. */ public function serializeProperties() { return []; } }