public DependencySerializationTrait::__sleep()
File
- core/lib/Drupal/Core/DependencyInjection/DependencySerializationTrait.php, line 22
Class
- DependencySerializationTrait
- Provides dependency injection friendly methods for serialization.
Namespace
Drupal\Core\DependencyInjection
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | public function __sleep() { $this ->_serviceIds = array (); $vars = get_object_vars( $this ); foreach ( $vars as $key => $value ) { if ( is_object ( $value ) && isset( $value ->_serviceId)) { // If a class member was instantiated by the dependency injection // container, only store its ID so it can be used to get a fresh object // on unserialization. $this ->_serviceIds[ $key ] = $value ->_serviceId; unset( $vars [ $key ]); } // Special case the container, which might not have a service ID. elseif ( $value instanceof ContainerInterface) { $this ->_serviceIds[ $key ] = 'service_container' ; unset( $vars [ $key ]); } } return array_keys ( $vars ); } |
Please login to continue.