setDI($di); $this->_app = new Application(); } /** * Prepares the application to run. */ public function prepare() { // Force autoloader if registered. // Should be needed by almost all other services. $di = $this->getDI(); if ($di->has('loader')) { $di->get('loader'); } // If debug is configured. add listener. if ($di->get('config')->application->debug) { $di->get('debugger')->listen(true, true); } // Modules $this->_app->registerModules([ 'main' => [ 'className' => 'App\Module\Main' ], 'backend' => [ 'className' => 'App\Module\Backend' ], ]); $this->_app->setDefaultModule('main'); return $this; } /** * Runs the application. * * @return string */ public function run() { $this->_app->setDI($this->getDI()); return $this->_app->handle()->getContent(); } }