/** * @param \Magento\Framework\App\Helper\Context $context * @param \Magento\Framework\Registry $coreRegistry * @param \Magento\Framework\ObjectManager\ConfigInterface $config */ public function __construct(\Magento\Framework\App\Helper\Context $context, \Magento\Framework\Registry $coreRegistry, \Magento\Framework\ObjectManager\ConfigInterface $config, \Magento\Backend\App\ConfigInterface $backendConfig) { $this->_coreRegistry = $coreRegistry; $this->_preferences = $config->getPreferences(); $this->addDevToolData($this->preferencesKey, $this->_preferences); parent::__construct($context); }
/** * Returns preferences for third party code * * @param ConfigInterface $config * @param DefinitionsCollection $definitionsCollection * @SuppressWarnings(PHPMD.UnusedLocalVariable) * * @return void */ private function fillThirdPartyInterfaces(ConfigInterface $config, DefinitionsCollection $definitionsCollection) { $definedInstances = $definitionsCollection->getInstancesNamesList(); foreach ($config->getPreferences() as $interface => $preference) { if (in_array($interface, $definedInstances)) { continue; } $definitionsCollection->addDefinition($interface, []); } }