/** * @throws \Exception */ protected function init() { $this->setEnvironment(); // Load class aliases $aliases = Config::get('aliases'); foreach ($aliases as $orig => $new) { class_alias($orig, $new, true); } static::$container = new Container(); Session::init(); Request::init(); $this->initRouter(); $databaseConfig = Config::get('database'); if ($databaseConfig !== null && is_array($databaseConfig)) { $this->capsule = new Capsule(); foreach ($databaseConfig as $name => $conf) { if (array_key_exists('name', $conf) && strlen($conf['name']) > 0) { $name = $conf['name']; unset($conf['name']); } $this->capsule->addConnection($conf, $name); } $this->capsule->bootEloquent(); } $hookConfig = Config::get('hooks'); if (is_array($hookConfig)) { foreach ($hookConfig as $event => $callable) { EventHandler::addListener($event, $callable); } } EventHandler::triggerEvent('whirlpool-initialized', $this); }