getDefinition('social_post'); $publishOn = $container->getParameter('social_post.configuration.publish_on'); foreach ($publishOn as $provider) { $serviceName = 'social_post.'.$provider; if (!$container->has($serviceName)) { throw new OutOfBoundsException(\sprintf('Cannot find service %s when injecting dependencies for "social_post"', $serviceName)); } if (!$container->get($serviceName) instanceof Publisher) { throw new InvalidArgumentException(\sprintf('Service %s should be an instance of %s', $serviceName, Publisher::class)); } $definition->addArgument(new Reference($serviceName)); } } }