/** * @param Router $router */ public function __construct(Router $router) { $this->router = $router; $this->request = app()->request; $this->response = app()->response; $this->filter = new Filter(); $this->_method = strtolower($this->request->getMethod()); $this->init(); }
/** * @param Exception $exception */ public function exception(Exception $exception) { $this->request = Cordillera::$instance->{'request'}; $this->controller = Cordillera::$instance->{'controller'}; $this->config = Cordillera::$instance->{'config'}; $this->logger = Cordillera::$instance->{'logger'}; $this->response = Cordillera::$instance->{'response'}; if ($this->request->isAjax() || isset($this->controller) && ($this->controller->response_type == 'json' || $this->controller->is_rest)) { $response = ['error' => true, 'message' => $exception->getMessage()]; if (CORDILLERA_DEBUG) { $response['trace'] = $exception->getAllTraces(); } if ($this->config->get('exception.show_log_id') && $this->logger->last_log_id) { $response['log_id'] = logger()->last_log_id; } $this->response->json($response); } else { $layout = new Layout('error'); if (CORDILLERA_DEBUG) { $layout->properties['title'] = Exception::$types[$exception->getCode()]; } if (ob_get_length()) { ob_end_clean(); } echo $layout->render($exception->toHtml()); } exit; }