/** * Bootstrap the application and * call the other bootstrap classes * from the projects (if they exist) * * @return self */ public function bootstrap($environment = Application::ENVIRONMENT_WEB) { static::$environment = $environment; // Setup application $this->setup(); try { Buffer::start(); // Call own bootstrap (new Bootstrap($this))->autoCall(); // Call bootstrap of active project $project = ProjectManager::getActiveProject(); if ($project) { // Save it in case for further use $bootstrap = $project->bootstrap($this); } } catch (\Exception $err) { switch (static::$environment) { case Application::ENVIRONMENT_WEB: self::renderException(array($err)); break; case Application::ENVIRONMENT_CMD: throw $err; break; } } return $this; }