public function runCustom()
{
if ($this->appMode == 'cli') {
return;
}
$di = $this->getDI();
//$debug = $di->getConfig()->debug;
/*
if ($debug) {
$debugger = $this->getDebugger();
}
*/
//Roter
$router = $di['router'];
$router->handle();
//Module handle
$modules = $this->getApplication()->getModules();
$routeModule = $router->getModuleName();
if (isset($modules[$routeModule])) {
$moduleClass = new $modules[$routeModule]['className']();
$moduleClass->registerAutoloaders();
$moduleClass->registerServices($di);
}
//dispatch
$dispatcher = $di['dispatcher'];
$dispatcher->setModuleName($router->getModuleName());
$dispatcher->setControllerName($router->getControllerName());
$dispatcher->setActionName($router->getActionName());
$dispatcher->setParams($router->getParams());
//view
$view = $di['view'];
$view->start();
$dispatcher->dispatch();
//Not able to call render in controller or else will repeat output
$view->render($dispatcher->getControllerName(), $dispatcher->getActionName(), $dispatcher->getParams());
$view->finish();
//NOTICE: not able to output flash session content
$response = $di['response'];
$response->setContent($view->getContent());
$response->sendHeaders();
echo $response->getContent();
}