static function _run() { $code = 1; $msg = ''; $data = null; App::init(); try { $data = self::execute(); } catch (AppBreakException $e) { return; } catch (Exception $e) { if (App::$controller && App::$controller->is_ajax) { $code = $e->getCode(); $msg = $e->getMessage(); if (!strlen($msg)) { $msg = 'error'; } } else { return self::error_handle($e); } } if (App::$controller && App::$controller->is_ajax) { $resp = array('code' => $code, 'message' => $msg, 'data' => $data); if (defined('JSON_UNESCAPED_UNICODE')) { $json = json_encode($resp, JSON_UNESCAPED_UNICODE); } else { $json = json_encode($resp); } $jp = App::$controller->jp; if (!preg_match('/^[a-z0-9_]+$/i', $jp)) { $jp = false; } if ($jp) { echo "{$jp}({$json});"; } else { echo $json; } } else { #var_dump(find_view_and_layout()); list($__view, $__layout) = find_view_and_layout(); if (!$__view) { Logger::trace("No view for " . base_path()); } else { Logger::trace("View {$__view}"); $params = App::$context->as_array(); extract($params); ob_start(); include $__view; self::$view_content = ob_get_clean(); } if ($__layout) { Logger::trace("Layout {$__layout}"); $params = App::$context->as_array(); extract($params); include $__layout; } else { if (App::$controller->layout !== false) { Logger::error("No layout for " . base_path()); } _view(); } } }
private static function html_resp() { #var_dump(find_view_and_layout()); list($__view, $__layout) = find_view_and_layout(); if (!$__view) { Logger::trace("No view for " . base_path()); } else { Logger::trace("View {$__view}"); $__params = App::$context->as_array(); extract($__params); ob_start(); include $__view; self::$view_content = ob_get_clean(); } if ($__layout) { Logger::trace("Layout {$__layout}"); $__params = App::$context->as_array(); extract($__params); include $__layout; } else { if (App::$controller->layout !== false) { Logger::error("No layout for " . base_path()); } _view(); } }