/** * @param array $initConfig [optional] * @param InputInterface $input [optional] * @param OutputInterface $output [optional] * * @return void */ public function init(array $initConfig = array(), InputInterface $input = null, OutputInterface $output = null) { if ($this->_isInitialized) { return; } // Suppress DateTime warnings date_default_timezone_set(@date_default_timezone_get()); // Initialize EventDispatcher early $this->dispatcher = new EventDispatcher(); $this->setDispatcher($this->dispatcher); $input = $input ?: new ArgvInput(); $output = $output ?: new ConsoleOutput(); if (null !== $this->config) { throw new UnexpectedValueException(sprintf('Config already initialized')); } $loadExternalConfig = !$input->hasParameterOption('--skip-config'); $this->config = $config = new Config($initConfig, $this->isPharMode(), $output); if ($this->configurationLoaderInjected) { $config->setLoader($this->configurationLoaderInjected); } $config->loadPartialConfig($loadExternalConfig); $this->detectMagento($input, $output); $configLoader = $config->getLoader(); $configLoader->loadStageTwo($this->_magentoRootFolder, $loadExternalConfig, $this->_magerunStopFileFolder); $config->load(); if ($autoloader = $this->autoloader) { $config->registerCustomAutoloaders($autoloader); $this->registerEventSubscribers(); $config->registerCustomCommands($this); } $this->registerHelpers(); $this->_isInitialized = true; }
/** * @param array $initConfig * @param InputInterface $input * @param OutputInterface $output * * @return void */ public function init(array $initConfig = array(), InputInterface $input = null, OutputInterface $output = null) { if ($this->_isInitialized) { return; } // Suppress DateTime warnings date_default_timezone_set(@date_default_timezone_get()); // Initialize EventDispatcher early $this->dispatcher = new EventDispatcher(); $this->setDispatcher($this->dispatcher); if (null === $input) { $input = new ArgvInput(); } if (null === $output) { $output = new ConsoleOutput(); } if (null !== $this->config) { throw new UnexpectedValueException(sprintf('Config already initialized')); } $loadExternalConfig = !$this->_checkSkipConfigOption(); $this->config = $config = new Config($initConfig, $this->isPharMode(), $output); $configLoader = $config->getLoader(); $config->loadPartialConfig($loadExternalConfig); $this->detectMagento($input, $output); $configLoader->loadStageTwo($this->_magentoRootFolder, $loadExternalConfig, $this->_magerunStopFileFolder); $config->load(); if ($autoloader = $this->autoloader) { /** * Include commands shipped by Magento 2 core */ if (!$this->_checkSkipMagento2CoreCommandsOption()) { $this->registerMagentoCoreCommands($output); } $this->config->registerCustomAutoloaders($autoloader); $this->registerEventSubscribers(); $config->registerCustomCommands($this); } $this->registerHelpers(); $this->_isInitialized = true; }
/** * @test */ public function loadPartialConfig() { $config = new Config(); $this->assertEquals(array(), $config->getDetectSubFolders()); $config->loadPartialConfig(false); $actual = $config->getDetectSubFolders(); $this->assertInternalType('array', $actual); $this->assertNotEquals(array(), $actual); }