39 private $objectManager;
51 private $engineResolver;
59 \
Magento\Framework\ObjectManagerInterface $objectManager,
64 $this->enginePool = $engines;
65 $this->engineResolver = $engineResolver;
77 if (!isset($this->enginePool[$currentEngine])) {
78 throw new \LogicException(
79 'There is no such engine: ' . $currentEngine
82 $engineClassName = $this->enginePool[$currentEngine];
84 $engine = $this->objectManager->create($engineClassName);
85 if (
false ===
$engine instanceof EngineInterface) {
86 throw new \LogicException(
87 $currentEngine .
' doesn\'t implement ' . EngineInterface::class
93 throw new \LogicException(
94 'Engine is not available: ' . $currentEngine
__construct(\Magento\Framework\ObjectManagerInterface $objectManager, array $engines, EngineResolverInterface $engineResolver)