public function processRequest($action, array $params) { empty($action) and $action = $this->default_action; if (!$this->isMethodCallable($action)) { Template::show404Page(); return; } $request_result = $this->{$action}($params); $class = strtolower(get_class($this)); if (!empty($request_result['redirect'])) { header("location: /{$class}/{$request_result['redirect']}"); empty($request_result['data']) or User::storeFormData($request_result['data']); die; } $template_name = !empty($request_result['template']) ? $request_result['template'] : $class . '_' . $action; Template::showPage($template_name, $request_result['data']); }