hasOption(self::OPTION_SAVE_STRATEGY)) { throw new RuntimeException( sprintf('Option %s is not configured. Please check %s', self::OPTION_SAVE_STRATEGY, self::SERVICE_ID) ); } /** @var DataBaseAccess $dataBaseAccess */ $dataBaseAccess = $this->serviceLocator->get(DataBaseAccess::SERVICE_ID); /** @var EventManager $eventManager */ $eventManager = $this->serviceLocator->get(EventManager::SERVICE_ID); $strategyClass = $this->getOption(self::OPTION_SAVE_STRATEGY); $permissionsStrategy = new $strategyClass(); return new PermissionsService($dataBaseAccess, $permissionsStrategy, $eventManager); } }