From e32202daa4884a0ec829d17d22a2937db917f983 Mon Sep 17 00:00:00 2001 From: Alex Rock Ancelet Date: Wed, 27 Dec 2017 12:05:18 +0100 Subject: [PATCH] More CI fixes --- Action/AbstractStepAction.php | 4 +- DependencyInjection/Compiler/StepsPass.php | 80 ++++++++++++---------- 2 files changed, 43 insertions(+), 41 deletions(-) diff --git a/Action/AbstractStepAction.php b/Action/AbstractStepAction.php index a5f66a0..96c5bb9 100644 --- a/Action/AbstractStepAction.php +++ b/Action/AbstractStepAction.php @@ -197,9 +197,7 @@ protected function flashMessage(string $msg, string $type = null, array $msgPara : strtr($msg, $msgParams) ; - $session = $this->getSession(); - - $flashbag = $session->getFlashBag(); + $flashbag = $this->getSession()->getFlashBag(); // Add the message manually. $existingMessages = $flashbag->peek($type); diff --git a/DependencyInjection/Compiler/StepsPass.php b/DependencyInjection/Compiler/StepsPass.php index 239b8ec..87dbf23 100644 --- a/DependencyInjection/Compiler/StepsPass.php +++ b/DependencyInjection/Compiler/StepsPass.php @@ -143,50 +143,54 @@ private function processConfiguredServices(ContainerBuilder $container) $registryDefinition = $container->getDefinition(ActionsRegistry::class); foreach ($container->getParameter(static::PARAMETERS_MANAGERS) as $managerName => $config) { + $this->processStepAction($managerName, $config, $registryDefinition, $container); + } + } - /** @var array[] $finalSteps */ - $finalSteps = $config['steps']; - - foreach ($finalSteps as $step) { - $action = $step['action']; - if ($container->has($action)) { - /** @var $definition */ - $definition = $container->getDefinition($action); - } else { - // If action is not yet a service, it means it's a class name. - // In this case, we create a new service. - $definition = new Definition($action); - $definition - ->setLazy(true) - ->setPrivate(true) - ->setAutowired(true) - ; - $container->setDefinition($action, $definition); - } + private function processStepAction(string $managerName, array $config, Definition $registryDefinition, ContainerBuilder $container): void + { + /** @var array[] $finalSteps */ + $finalSteps = $config['steps']; + foreach ($finalSteps as $step) { + $action = $step['action']; + if ($container->has($action)) { + /** @var $definition */ + $definition = $container->getDefinition($action); + } else { + // If action is not yet a service, it means it's a class name. + // In this case, we create a new service. + $definition = new Definition($action); $definition - ->addMethodCall('configure', [ - $managerName, - $step['name'], - $config['character_class'], - new Reference(StepResolverInterface::class), - ]) + ->setLazy(true) + ->setPrivate(true) + ->setAutowired(true) ; + $container->setDefinition($action, $definition); + } - // If class extends the abstract one, we inject some cool services. - if (is_a($definition->getClass(), AbstractStepAction::class, true)) { - $ignoreOnInvalid = ContainerInterface::IGNORE_ON_INVALID_REFERENCE; - $definition - ->addMethodCall('setObjectManager', [new Reference(ObjectManager::class, $ignoreOnInvalid)]) - ->addMethodCall('setTwig', [new Reference(Environment::class, $ignoreOnInvalid)]) - ->addMethodCall('setRouter', [new Reference(RouterInterface::class, $ignoreOnInvalid)]) - ->addMethodCall('setTranslator', [new Reference(TranslatorInterface::class, $ignoreOnInvalid)]) - ; - } - - // Finally add the step action to the registry - $registryDefinition->addMethodCall('addStepAction', [$step['name'], new Reference($action)]); + $definition + ->addMethodCall('configure', [ + $managerName, + $step['name'], + $config['character_class'], + new Reference(StepResolverInterface::class), + ]) + ; + + // If class extends the abstract one, we inject some cool services. + if (is_a($definition->getClass(), AbstractStepAction::class, true)) { + $ignoreOnInvalid = ContainerInterface::IGNORE_ON_INVALID_REFERENCE; + $definition + ->addMethodCall('setObjectManager', [new Reference(ObjectManager::class, $ignoreOnInvalid)]) + ->addMethodCall('setTwig', [new Reference(Environment::class, $ignoreOnInvalid)]) + ->addMethodCall('setRouter', [new Reference(RouterInterface::class, $ignoreOnInvalid)]) + ->addMethodCall('setTranslator', [new Reference(TranslatorInterface::class, $ignoreOnInvalid)]) + ; } + + // Finally add the step action to the registry + $registryDefinition->addMethodCall('addStepAction', [$step['name'], new Reference($action)]); } }