You are here

public function InstallerServiceProvider::register in Drupal 9

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

Registers services to the container.

Parameters

ContainerBuilder $container: The ContainerBuilder to register services to.

Overrides NormalInstallerServiceProvider::register

File

core/lib/Drupal/Core/Installer/InstallerServiceProvider.php, line 22

Class

InstallerServiceProvider
Service provider for the early installer environment.

Namespace

Drupal\Core\Installer

Code

public function register(ContainerBuilder $container) {

  // Inject the special configuration storage for the installer.
  // This special implementation MUST NOT be used anywhere else than the early
  // installer environment.
  $container
    ->register('config.storage', 'Drupal\\Core\\Config\\InstallStorage');

  // Replace services with in-memory implementations.
  $container
    ->register('keyvalue', 'Drupal\\Core\\KeyValueStore\\KeyValueMemoryFactory');
  $container
    ->register('keyvalue.expirable', 'Drupal\\Core\\KeyValueStore\\KeyValueNullExpirableFactory');

  // Replace services with no-op implementations.
  $container
    ->register('url_generator', 'Drupal\\Core\\Routing\\NullGenerator')
    ->addArgument(new Reference('request_stack'));
  $container
    ->register('path_processor_manager', 'Drupal\\Core\\PathProcessor\\NullPathProcessorManager');
  $container
    ->register('router.dumper', 'Drupal\\Core\\Routing\\NullMatcherDumper');

  // Replace the route builder with an empty implementation.
  // @todo Convert installer steps into routes; add an installer.routing.yml.
  $definition = $container
    ->getDefinition('router.builder');
  $definition
    ->setClass('Drupal\\Core\\Installer\\InstallerRouteBuilder')
    ->setLazy(FALSE);
  parent::register($container);
}