objectManager = $objectManager; $this->actions = $extensionActions; } /** * @param string $entityType * @param string $actionName * @return ExtensionInterface[] * @throws \Exception */ public function getActions($entityType, $actionName) { $actions = []; if (!isset($this->actions[$entityType][$actionName])) { return $actions; } foreach ($this->actions[$entityType][$actionName] as $actionClassName) { $action = $this->objectManager->get($actionClassName); if (!($action instanceof ExtensionInterface)) { throw new \LogicException(get_class($action) . ' must implement ' . ExtensionInterface::class); } $actions[] = $action; } return $actions; } }