*/ $uri = $factory->createUriFromServerSuperGlobal(); $key = $uri->getRouteKey(); $parts = explode('.', $key); $key = current($parts); $format = strtolower(next($parts)); if (empty($format)) { $format = 'html'; } $input = $factory->createInputFromSuperGlobals($uri); $route = $factory->createRouteDetail($key); if (!$route instanceof MvcRouteDetailInterface) { $err = "could not resolve route detail for -({$key})"; throw new LogicException($err); } $context = $factory->createContext($key, $input); $init->runStartupTasks($route); $viewBuilder = $factory->createViewBuilder(); $viewBuilder->setupView($context, $route, $format); $front = $factory->createFront(); $context = $front->run($context); $content = $viewBuilder->composeView($context, $route, $format); $code = $context->getExitCode(); $headers = $context->get('http-headers', array()); if (!is_array($headers) || empty($headers)) { $headers = null; } $response = new HttpResponse($content, $code, null, $headers); $output = new HttpOutput(); $output->render($response); exit($code);
/** * @param string $text * @param int $code * @return null */ protected function sendHttpOutput($text, $code = 500) { $output = new HttpOutput(); $output->render(new HttpResponse($text, $code)); }