You are here

public function RestServiceProvider::register in Drupal 8

Registers services to the container.

Parameters

ContainerBuilder $container: The ContainerBuilder to register services to.

Overrides ServiceProviderInterface::register

File

core/modules/rest/src/RestServiceProvider.php, line 25

Class

RestServiceProvider
Provides BC services.

Namespace

Drupal\rest

Code

public function register(ContainerBuilder $container) {
  $modules = $container
    ->getParameter('container.modules');
  if (isset($modules['hal'])) {

    // @deprecated in Drupal 8.3.x and will be removed before Drupal 9.0.0.
    //   Use hal.link_manager instead.
    // @see https://www.drupal.org/node/2830467
    $service_definition = new ChildDefinition(new Reference('hal.link_manager'));
    $service_definition
      ->setClass(LinkManager::class);
    $container
      ->setDefinition('rest.link_manager', $service_definition);

    // @deprecated in Drupal 8.3.x and will be removed before Drupal 9.0.0.
    //   Use hal.link_manager.type instead.
    // @see https://www.drupal.org/node/2830467
    $service_definition = new ChildDefinition(new Reference('hal.link_manager.type'));
    $service_definition
      ->setClass(TypeLinkManager::class);
    $container
      ->setDefinition('rest.link_manager.type', $service_definition);

    // @deprecated in Drupal 8.3.x and will be removed before Drupal 9.0.0.
    //   Use hal.link_manager.relation instead.
    // @see https://www.drupal.org/node/2830467
    $service_definition = new ChildDefinition(new Reference('hal.link_manager.relation'));
    $service_definition
      ->setClass(RelationLinkManager::class);
    $container
      ->setDefinition('rest.link_manager.relation', $service_definition);
  }
}