diff -u b/core/core.services.yml b/core/core.services.yml --- b/core/core.services.yml +++ b/core/core.services.yml @@ -192,7 +192,7 @@ - [setContainer, ['@service_container']] cache.backend.database: class: Drupal\Core\Cache\DatabaseBackendFactory - arguments: ['@database', '@cache_tags.invalidator.checksum', '@serialization.objectaware.default'] + arguments: ['@database', '@cache_tags.invalidator.checksum', '@serialization.phpserialize'] cache.backend.apcu: class: Drupal\Core\Cache\ApcuBackendFactory arguments: ['@app.root', '@site.path', '@cache_tags.invalidator.checksum'] @@ -421,8 +421,6 @@ class: Drupal\Component\Serialization\PhpSerialize serialization.yaml: class: Drupal\Component\Serialization\Yaml - serialization.objectaware.default: - alias: serialization.phpserialize settings: class: Drupal\Core\Site\Settings diff -u b/core/lib/Drupal/Component/Serialization/ObjectAwareSerializationInterface.php b/core/lib/Drupal/Component/Serialization/ObjectAwareSerializationInterface.php --- b/core/lib/Drupal/Component/Serialization/ObjectAwareSerializationInterface.php +++ b/core/lib/Drupal/Component/Serialization/ObjectAwareSerializationInterface.php @@ -4,6 +4,13 @@ /** * Ensures that a serializer is usable for serializing PHP objects. + * + * Other Serializers that implement the SerializationInterface, for example + * serializers that use JSON or YAML, are suitable for different PHP types + * except objects. Serializers that implement the + * ObjectAwareSerializationInterface instead are clearly indicating that they're + * suitable for PHP objects, for example using the PHP string serilization + * format or the igbinary format. */ interface ObjectAwareSerializationInterface extends SerializationInterface { } diff -u b/core/lib/Drupal/Core/Cache/DatabaseBackend.php b/core/lib/Drupal/Core/Cache/DatabaseBackend.php --- b/core/lib/Drupal/Core/Cache/DatabaseBackend.php +++ b/core/lib/Drupal/Core/Cache/DatabaseBackend.php @@ -23,7 +23,7 @@ protected $bin; /** - * The serialization class to use. + * The serializer to use. * * @var \Drupal\Component\Serialization\ObjectAwareSerializationInterface */ @@ -53,7 +53,7 @@ * @param string $bin * The cache bin for which the object is created. * @param \Drupal\Component\Serialization\ObjectAwareSerializationInterface $serializer - * The serialization class to use. + * The serializer to use. */ public function __construct(Connection $connection, CacheTagsChecksumInterface $checksum_provider, $bin, ObjectAwareSerializationInterface $serializer = NULL) { // All cache tables should be prefixed with 'cache_'. @@ -62,7 +62,7 @@ $this->bin = $bin; $this->connection = $connection; $this->checksumProvider = $checksum_provider; - $this->serializer = $serializer ?: \Drupal::service('serialization.objectaware.default'); + $this->serializer = $serializer ?: \Drupal::service('serialization.phpserialize'); } /** diff -u b/core/lib/Drupal/Core/Cache/DatabaseBackendFactory.php b/core/lib/Drupal/Core/Cache/DatabaseBackendFactory.php --- b/core/lib/Drupal/Core/Cache/DatabaseBackendFactory.php +++ b/core/lib/Drupal/Core/Cache/DatabaseBackendFactory.php @@ -8,7 +8,7 @@ class DatabaseBackendFactory implements CacheFactoryInterface { /** - * The serialization class to use. + * The serializer to use. * * @var \Drupal\Component\Serialization\ObjectAwareSerializationInterface */ @@ -36,12 +36,12 @@ * @param \Drupal\Core\Cache\CacheTagsChecksumInterface $checksum_provider * The cache tags checksum provider. * @param \Drupal\Component\Serialization\ObjectAwareSerializationInterface $serializer - * The serialization class to use. + * The serializer to use. */ function __construct(Connection $connection, CacheTagsChecksumInterface $checksum_provider, ObjectAwareSerializationInterface $serializer = NULL) { $this->connection = $connection; $this->checksumProvider = $checksum_provider; - $this->serializer = $serializer ?: \Drupal::service('serialization.objectaware.default'); + $this->serializer = $serializer ?: \Drupal::service('serialization.phpserialize'); } /** diff -u b/core/lib/Drupal/Core/DrupalKernel.php b/core/lib/Drupal/Core/DrupalKernel.php --- b/core/lib/Drupal/Core/DrupalKernel.php +++ b/core/lib/Drupal/Core/DrupalKernel.php @@ -77,13 +77,13 @@ ], 'cache.container' => [ 'class' => 'Drupal\Core\Cache\DatabaseBackend', - 'arguments' => ['@database', '@cache_tags_provider.container', 'container', '@serialization.objectaware.default'], + 'arguments' => ['@database', '@cache_tags_provider.container', 'container', '@serialization.phpserialize'], ], 'cache_tags_provider.container' => [ 'class' => 'Drupal\Core\Cache\DatabaseCacheTagsChecksum', 'arguments' => ['@database'], ], - 'serialization.objectaware.default' => [ + 'serialization.phpserialize' => [ 'class' => 'Drupal\Component\Serialization\PhpSerialize', ], ], diff -u b/core/tests/Drupal/KernelTests/Core/Cache/ChainedFastBackendTest.php b/core/tests/Drupal/KernelTests/Core/Cache/ChainedFastBackendTest.php --- b/core/tests/Drupal/KernelTests/Core/Cache/ChainedFastBackendTest.php +++ b/core/tests/Drupal/KernelTests/Core/Cache/ChainedFastBackendTest.php @@ -20,7 +20,7 @@ * A new ChainedFastBackend object. */ protected function createCacheBackend($bin) { - $consistent_backend = new DatabaseBackend(\Drupal::service('database'), \Drupal::service('cache_tags.invalidator.checksum'), $bin, \Drupal::service('serialization.objectaware.default')); + $consistent_backend = new DatabaseBackend(\Drupal::service('database'), \Drupal::service('cache_tags.invalidator.checksum'), $bin, \Drupal::service('serialization.phpserialize')); $fast_backend = new PhpBackend($bin, \Drupal::service('cache_tags.invalidator.checksum')); $backend = new ChainedFastBackend($consistent_backend, $fast_backend, $bin); // Explicitly register the cache bin as it can not work through the diff -u b/core/tests/Drupal/KernelTests/Core/Cache/DatabaseBackendTest.php b/core/tests/Drupal/KernelTests/Core/Cache/DatabaseBackendTest.php --- b/core/tests/Drupal/KernelTests/Core/Cache/DatabaseBackendTest.php +++ b/core/tests/Drupal/KernelTests/Core/Cache/DatabaseBackendTest.php @@ -25,7 +25,7 @@ * A new DatabaseBackend object. */ protected function createCacheBackend($bin) { - return new DatabaseBackend($this->container->get('database'), $this->container->get('cache_tags.invalidator.checksum'), $bin, $this->container->get('serialization.objectaware.default')); + return new DatabaseBackend($this->container->get('database'), $this->container->get('cache_tags.invalidator.checksum'), $bin, $this->container->get('serialization.phpserialize')); } /** diff -u b/core/tests/Drupal/KernelTests/Core/Command/DbDumpTest.php b/core/tests/Drupal/KernelTests/Core/Command/DbDumpTest.php --- b/core/tests/Drupal/KernelTests/Core/Command/DbDumpTest.php +++ b/core/tests/Drupal/KernelTests/Core/Command/DbDumpTest.php @@ -71,7 +71,7 @@ $container->register('cache_factory', 'Drupal\Core\Cache\DatabaseBackendFactory') ->addArgument(new Reference('database')) ->addArgument(new Reference('cache_tags.invalidator.checksum')) - ->addArgument(new Reference('serialization.objectaware.default')); + ->addArgument(new Reference('serialization.phpserialize')); } /** diff -u b/core/tests/Drupal/KernelTests/Core/Config/Storage/CachedStorageTest.php b/core/tests/Drupal/KernelTests/Core/Config/Storage/CachedStorageTest.php --- b/core/tests/Drupal/KernelTests/Core/Config/Storage/CachedStorageTest.php +++ b/core/tests/Drupal/KernelTests/Core/Config/Storage/CachedStorageTest.php @@ -89,7 +89,7 @@ $container->register('cache_factory', 'Drupal\Core\Cache\DatabaseBackendFactory') ->addArgument(new Reference('database')) ->addArgument(new Reference('cache_tags.invalidator.checksum')) - ->addArgument(new Reference('serialization.objectaware.default')); + ->addArgument(new Reference('serialization.phpserialize')); } }