Mercurial > hg > cmmr2012-drupal-site
diff core/modules/rest/src/RestServiceProvider.php @ 0:c75dbcec494b
Initial commit from drush-created site
author | Chris Cannam |
---|---|
date | Thu, 05 Jul 2018 14:24:15 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/modules/rest/src/RestServiceProvider.php Thu Jul 05 14:24:15 2018 +0000 @@ -0,0 +1,51 @@ +<?php + +namespace Drupal\rest; + +use Drupal\Core\DependencyInjection\ContainerBuilder; +use Drupal\Core\DependencyInjection\ServiceProviderInterface; +use Drupal\rest\LinkManager\LinkManager; +use Drupal\rest\LinkManager\RelationLinkManager; +use Drupal\rest\LinkManager\TypeLinkManager; +use Symfony\Component\DependencyInjection\ChildDefinition; +use Symfony\Component\DependencyInjection\Reference; + +/** + * 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. + */ +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); + } + } + +}