示例#1
0
文件: Wrap.php 项目: dspbee/pivasic
 /**
  * Send response.
  *
  * @param string $code
  * @param string $message
  * @param string $file
  * @param string $line
  * @param null $context
  * @param array|null $backtrace
  */
 public static function render($code, $message, $file, $line, $context = null, array $backtrace = [])
 {
     ob_clean();
     $data = ['message' => $message, 'code' => $code, 'file' => $file, 'line' => $line, 'trace' => $backtrace, 'context' => $context];
     if (!empty($data['trace'])) {
         foreach ($data['trace'] as $k => $item) {
             if (isset($item['type'])) {
                 switch ($item['type']) {
                     case '->':
                         $data['trace'][$k]['type'] = 'method';
                         break;
                     case '::':
                         $data['trace'][$k]['type'] = 'static method';
                         break;
                     default:
                         $data['trace'][$k]['type'] = 'function';
                 }
             }
         }
     }
     $template = new Native(dirname(__FILE__) . '/', null, true);
     $response = new Response();
     $response->headerStatus(418);
     $response->setContent($template->getContent('catch.html.php', $data));
     $response->send();
     exit;
 }