You are here

public function UpdateServiceProvider::register in Drupal 9

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Update/UpdateServiceProvider.php \Drupal\Core\Update\UpdateServiceProvider::register()

Registers services to the container.

Parameters

ContainerBuilder $container: The ContainerBuilder to register services to.

Overrides ServiceProviderInterface::register

File

core/lib/Drupal/Core/Update/UpdateServiceProvider.php, line 20

Class

UpdateServiceProvider
Customizes the container for running updates.

Namespace

Drupal\Core\Update

Code

public function register(ContainerBuilder $container) {
  $definition = new Definition('Drupal\\Core\\Cache\\NullBackend', [
    'null',
  ]);
  if (method_exists($definition, 'getDeprecation')) {
    $definition
      ->setDeprecated('drupal/core', '8.8.0', 'The "%service_id%\\" service is deprecated. While updating Drupal all caches use \\Drupal\\Core\\Update\\UpdateBackend. See https://www.drupal.org/node/3066407');
  }
  else {

    // @todo Remove when we no longer support Symfony 4 in
    // https://www.drupal.org/project/drupal/issues/3197729
    $definition
      ->setDeprecated(TRUE, 'The "%service_id%\\" service is deprecated. While updating Drupal all caches use \\Drupal\\Core\\Update\\UpdateBackend. See https://www.drupal.org/node/3066407');
  }
  $definition
    ->setPublic(TRUE);
  $container
    ->setDefinition('cache.null', $definition);

  // Decorate the cache factory in order to use
  // \Drupal\Core\Update\UpdateBackend while running updates.
  $container
    ->register('update.cache_factory', UpdateCacheBackendFactory::class)
    ->setDecoratedService('cache_factory')
    ->addArgument(new Reference('update.cache_factory.inner'));
  $container
    ->addCompilerPass(new UpdateCompilerPass(), PassConfig::TYPE_REMOVE, 128);
}