diff --git a/core/lib/Drupal/Component/DependencyInjection/Container.php b/core/lib/Drupal/Component/DependencyInjection/Container.php index 145c4db..58c7d43 100644 --- a/core/lib/Drupal/Component/DependencyInjection/Container.php +++ b/core/lib/Drupal/Component/DependencyInjection/Container.php @@ -581,49 +581,6 @@ protected function getParameterAlternatives($name) { return $this->getAlternatives($name, array_keys($this->parameters)); } - - /** - * {@inheritdoc} - */ - public function enterScope($name) { - if ('request' !== $name) { - @trigger_error('The ' . __METHOD__ . ' method is deprecated since version 2.8 and will be removed in 3.0.', E_USER_DEPRECATED); - } - - throw new \BadMethodCallException(sprintf("'%s' is not supported by Drupal 8.", __FUNCTION__)); - } - - /** - * {@inheritdoc} - */ - public function leaveScope($name) { - if ('request' !== $name) { - @trigger_error('The ' . __METHOD__ . ' method is deprecated since version 2.8 and will be removed in 3.0.', E_USER_DEPRECATED); - } - - throw new \BadMethodCallException(sprintf("'%s' is not supported by Drupal 8.", __FUNCTION__)); - } - - /** - * {@inheritdoc} - */ - public function hasScope($name) { - if ('request' !== $name) { - @trigger_error('The ' . __METHOD__ . ' method is deprecated since version 2.8 and will be removed in 3.0.', E_USER_DEPRECATED); - } - - throw new \BadMethodCallException(sprintf("'%s' is not supported by Drupal 8.", __FUNCTION__)); - } - - /** - * {@inheritdoc} - */ - public function isScopeActive($name) { - @trigger_error('The ' . __METHOD__ . ' method is deprecated since version 2.8 and will be removed in 3.0.', E_USER_DEPRECATED); - - throw new \BadMethodCallException(sprintf("'%s' is not supported by Drupal 8.", __FUNCTION__)); - } - /** * Gets all defined service IDs. * diff --git a/core/lib/Drupal/Core/DependencyInjection/ContainerBuilder.php b/core/lib/Drupal/Core/DependencyInjection/ContainerBuilder.php index 824ebf0..8495b77 100644 --- a/core/lib/Drupal/Core/DependencyInjection/ContainerBuilder.php +++ b/core/lib/Drupal/Core/DependencyInjection/ContainerBuilder.php @@ -102,16 +102,6 @@ public function createService(Definition $definition, $id, $tryProxy = true) @trigger_error(sprintf('The "%s" service relies on the deprecated "%s" factory class. It should either be deprecated or its factory upgraded.', $id, $r->name), E_USER_DEPRECATED); } } - } elseif (null !== $definition->getFactoryMethod(false)) { - if (null !== $definition->getFactoryClass(false)) { - $factory = $parameterBag->resolveValue($definition->getFactoryClass(false)); - } elseif (null !== $definition->getFactoryService(false)) { - $factory = $this->get($parameterBag->resolveValue($definition->getFactoryService(false))); - } else { - throw new RuntimeException(sprintf('Cannot create service "%s" from factory method without a factory service or factory class.', $id)); - } - - $service = call_user_func_array(array($factory, $definition->getFactoryMethod(false)), $arguments); } else { $r = new \ReflectionClass($parameterBag->resolveValue($definition->getClass())); @@ -173,20 +163,16 @@ private function getProxyInstantiator() } /** - * Direct copy of the parent function. + * Shares a given service in the container. + * + * @param Definition $definition + * @param mixed $service + * @param string $id */ protected function shareService(Definition $definition, $service, $id) { - if ($definition->isShared() && self::SCOPE_PROTOTYPE !== $scope = $definition->getScope(false)) { - if (self::SCOPE_CONTAINER !== $scope && !isset($this->scopedServices[$scope])) { - throw new InactiveScopeException($id, $scope); - } - + if ($definition->isShared()) { $this->services[$lowerId = strtolower($id)] = $service; - - if (self::SCOPE_CONTAINER !== $scope) { - $this->scopedServices[$scope][$lowerId] = $service; - } } } diff --git a/core/tests/Drupal/Tests/Component/DependencyInjection/Dumper/OptimizedPhpArrayDumperTest.php b/core/tests/Drupal/Tests/Component/DependencyInjection/Dumper/OptimizedPhpArrayDumperTest.php index c1c6058..add45cf 100644 --- a/core/tests/Drupal/Tests/Component/DependencyInjection/Dumper/OptimizedPhpArrayDumperTest.php +++ b/core/tests/Drupal/Tests/Component/DependencyInjection/Dumper/OptimizedPhpArrayDumperTest.php @@ -245,7 +245,6 @@ public function getDefinitionsDataProvider() { 'arguments_count' => 0, 'properties' => array(), 'calls' => array(), - 'scope' => ContainerInterface::SCOPE_CONTAINER, 'shared' => TRUE, 'factory' => FALSE, 'configurator' => FALSE, @@ -358,11 +357,6 @@ public function getDefinitionsDataProvider() { ) + $base_service_definition; $service_definitions[] = array( - 'scope' => ContainerInterface::SCOPE_PROTOTYPE, - 'shared' => FALSE, - ) + $base_service_definition; - - $service_definitions[] = array( 'shared' => FALSE, ) + $base_service_definition; @@ -404,7 +398,6 @@ public function getDefinitionsDataProvider() { $definition->getArguments()->willReturn($service_definition['arguments']); $definition->getProperties()->willReturn($service_definition['properties']); $definition->getMethodCalls()->willReturn($service_definition['calls']); - $definition->getScope()->willReturn($service_definition['scope']); $definition->isShared()->willReturn($service_definition['shared']); $definition->getDecoratedService()->willReturn(NULL); $definition->getFactory()->willReturn($service_definition['factory']); @@ -437,9 +430,6 @@ public function getDefinitionsDataProvider() { } } - // Remove any remaining scope. - unset($filtered_service_definition['scope']); - if (isset($filtered_service_definition['public']) && $filtered_service_definition['public'] === FALSE) { $services_provided[] = array( array('foo_service' => $definition->reveal()), @@ -478,22 +468,6 @@ protected function getServiceCall($id, $invalid_behavior = ContainerInterface::E } /** - * Tests that the correct InvalidArgumentException is thrown for getScope(). - * - * @covers ::getServiceDefinition - * - * @expectedException \Symfony\Component\DependencyInjection\Exception\InvalidArgumentException - */ - public function testGetServiceDefinitionWithInvalidScope() { - $bar_definition = new Definition('\stdClass'); - $bar_definition->setScope('foo_scope'); - $services['bar'] = $bar_definition; - - $this->containerBuilder->getDefinitions()->willReturn($services); - $this->dumper->getArray(); - } - - /** * Tests that getDecoratedService() is unsupported. * * Tests that the correct InvalidArgumentException is thrown for