By claudiu.cristea on
Change record status:
Published (View all published change records)
Project:
Introduced in branch:
10.3.x
Introduced in version:
10.3.0
Issue links:
Description:
The serializer service is passed now as a new parameter to DatabaseBackendFactory and DatabaseBackend constructors. Note that, for backward compatibility reasons, the parameter is optional. In Drupal 11.0.x it will be mandatory and the position in constructor signature will change.
Before
In services file:
cache.backend.database:
class: Drupal\Core\Cache\DatabaseBackendFactory
arguments: ['@database', '@cache_tags.invalidator.checksum', '@settings']
Service classes:
class DatabaseBackendFactory implements CacheFactoryInterface {
...
public function __construct(Connection $connection, CacheTagsChecksumInterface $checksum_provider, Settings $settings = NULL) {
...
}
...
}
class DatabaseBackend implements CacheBackendInterface {
...
public function __construct(Connection $connection, CacheTagsChecksumInterface $checksum_provider, $bin, $max_rows = NULL) {
...
}
...
}
After
In services file:
cache.backend.database:
class: Drupal\Core\Cache\DatabaseBackendFactory
arguments: ['@database', '@cache_tags.invalidator.checksum', '@settings', '@serialization.phpserialize']
Service classes:
class DatabaseBackendFactory implements CacheFactoryInterface {
...
public function __construct(Connection $connection, CacheTagsChecksumInterface $checksum_provider, Settings $settings = NULL, ObjectAwareSerializationInterface $serializer = NULL) {
...
}
...
}
class DatabaseBackend implements CacheBackendInterface {
...
public function __construct(Connection $connection, CacheTagsChecksumInterface $checksum_provider, $bin, ObjectAwareSerializationInterface $serializer = NULL, $max_rows = NULL) {
...
}
...
}
Other change notices for same issue
Impacts:
Module developers
Site templates, recipes and distribution developers