public static function renderFile($name, $viewContext) { if (empty($name)) { return; } $path = __DIR__ . DIRECTORY_SEPARATOR . $name . '.phtml'; ob_start(); try { include $path; $output = ob_get_contents(); } finally { ob_end_clean(); } if (HttpHeadersHelper::getCurrentHeader('Content-Type') != 'text/html' && HttpHeadersHelper::getCurrentHeader('Content-Type') != 'text/html;charset=UTF-8') { echo $output; return; } $output = str_replace(' />', '/>', $output); $output = str_replace(' >', '>', $output); $output = preg_replace_callback('/<[^>]+>/', function ($m) { return str_replace("\t", ' ', $m[0]); }, $output); $output = str_replace(["\t", "\r", "\n"], '', $output); $i = strpos($output, ' '); while ($i !== false) { $output = substr_replace($output, '', $i, 1); $i = strpos($output, ' ', $i); } echo $output; }
if ($controllerContext->cache->isFresh($url)) { $controllerContext->cache->load($url); flush(); } else { $f = function () use($workingClassName, $controllerContext, $viewContext) { $workingClassName::work($controllerContext, $viewContext); View::render($viewContext); }; if (!$controllerContext->cache->isBypassed()) { $controllerContext->cache->save($url, $f); } else { $f(); } } $workingClassName::postWork($controllerContext, $viewContext); if (HttpHeadersHelper::getCurrentHeader('Content-Type') == 'text/html' || HttpHeadersHelper::getCurrentHeader('Content-Type') == 'text/html;charset=UTF-8') { printf('<!-- retrieved in %.05fs -->', microtime(true) - $viewContext->renderStart); } exit(0); } $viewContext->viewName = 'error-404'; View::render($viewContext); } catch (Exception $e) { #log error information $logger->log($e); $viewContext->viewName = 'error'; $viewContext->exception = $e; View::render($viewContext); } exit(1); }
if ($controllerContext->cache->isFresh($url)) { $controllerContext->cache->load($url); flush(); } else { $f = function () use($workingClassName, $controllerContext, $viewContext) { $workingClassName::work($controllerContext, $viewContext); View::render($viewContext); }; if (!$controllerContext->cache->isBypassed()) { $controllerContext->cache->save($url, $f); } else { $f(); } } $workingClassName::postWork($controllerContext, $viewContext); if (HttpHeadersHelper::getCurrentHeader('Content-Type') == 'text/html') { printf('<!-- retrieved in %.05fs -->', microtime(true) - $viewContext->renderStart); } exit(0); } $viewContext->viewName = 'error-404'; View::render($viewContext); } catch (Exception $e) { #log error information $logger->log($e); $viewContext->viewName = 'error'; $viewContext->exception = $e; View::render($viewContext); } exit(1); }