You are here

class RestServiceProvider in Drupal 8

Provides BC services.

These services are not added via rest.services.yml because the service classes extend classes from the HAL module. They also have no use without that module.

Hierarchy

Expanded class hierarchy of RestServiceProvider

File

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

Namespace

Drupal\rest
View source
class RestServiceProvider implements ServiceProviderInterface {

  /**
   * {@inheritdoc}
   */
  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);
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
RestServiceProvider::register public function Registers services to the container. Overrides ServiceProviderInterface::register