From fafd328d755c055788102cab8f84dbb5b7cf10e2 Mon Sep 17 00:00:00 2001 From: David Grudl Date: Wed, 13 Mar 2019 15:19:52 +0100 Subject: [PATCH] Processor: definition of 'type' will not overide 'factory' of parent service (BC break) (#39) --- src/DI/Config/Processor.php | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/DI/Config/Processor.php b/src/DI/Config/Processor.php index 0c65c6754..08deace19 100644 --- a/src/DI/Config/Processor.php +++ b/src/DI/Config/Processor.php @@ -195,22 +195,18 @@ private function updateServiceDefinition(Definitions\ServiceDefinition $definiti { $config = self::processArguments($config); - if (array_key_exists('type', $config) || array_key_exists('factory', $config)) { + if (array_key_exists('factory', $config)) { + $definition->setFactory($config['factory']); $definition->setType(null); - $definition->setFactory(null); } if (array_key_exists('type', $config)) { if ($config['type'] instanceof Statement) { trigger_error("Service '$name': option 'type' or 'class' should be changed to 'factory'.", E_USER_DEPRECATED); + $definition->setFactory($config['type']); } else { $definition->setType($config['type']); } - $definition->setFactory($config['type']); - } - - if (array_key_exists('factory', $config)) { - $definition->setFactory($config['factory']); } if (array_key_exists('arguments', $config)) {