/**
* Constructor.
*
* @param array $config configuration parameters.
*/
public function __construct($config = array())
{
$this->masterPid = posix_getpid();
$this->finished = false;
// Registers fundamental instances.
$this['config'] = new Config($config);
$this["eventLoop"] = Factory::create();
$this["output"] = new ConsoleOutput();
$this['dispatcher'] = new EventDispatcher();
if ($this->config->isDebug()) {
$this->output->setVerbosity(OutputInterface::VERBOSITY_DEBUG);
}
// Registers default providers.
$this->registerDefaultProviders();
}