public static function get_html($exception) {
		$subject = self::get_subject($exception);

		if ($exception instanceof \ErrorException) {
			$error_type = \Skeleton\Error\Util\Misc::translate_error_code($exception->getSeverity());
		} else {
			$error_type = 'Exception';
		}

		$error_info = '';
		$error_info .= 'Error: ' . $exception->getMessage() . "\n";
		$error_info .= 'Type: ' . $error_type . "\n";
		$error_info .= 'File: ' . $exception->getFile() . "\n";
		$error_info .= 'Line: ' . $exception->getLine() . "\n\n";
		$error_info .= 'Time: ' . date('Y-m-d H:i:s') . "\n";

		$html =
		'<html>' .
		'   <head>' .
		'       <title>' . $subject . '</title>' .
		'       <style type="text/css">' .
		'           body { font-family: sans-serif; background: #eee; } ' .
		'           pre { border: 1px solid #1b2582; background: #ccc; padding: 5px; }' .
		'           h1 { width: 100%; background: #183452; font-weight: bold; color: #fff; padding: 2px; font-size: 16px;} ' .
		'           h2 { font-size: 15px; } ' .
		'       </style>' .
		'   </head>' .
		'   <body>' .
		'   <h1>' . $subject . '</h1>';

		$html .= '<h2>Message</h2> <pre>' . $exception->getMessage() . '</pre>';

		$html .= '<h2>Info</h2> <pre>' . $error_info . '</pre>';

		// Backtraces are not very useful for anything else but real exceptions
		if (!($exception instanceof \ErrorException)) {
			ob_start();
				debug_print_backtrace();
				$backtrace = ob_get_contents();
			ob_end_clean();

			$html .= '<h2>Backtrace</h2> <pre>' . $backtrace . '</pre>';
		}

		$vartrace = [
			'_GET'      => isset($_GET) ? $_GET : null,
			'_POST'     => isset($_POST) ? $_POST : null,
			'_COOKIE'   => isset($_COOKIE) ? $_COOKIE : null,
			'_SESSION'  => isset($_SESSION) ? $_SESSION : null,
			'_SERVER'   => isset($_SERVER) ? $_SERVER : null
		];

		$html .= '<h2>Vartrace</h2> <pre> ' . print_r($vartrace, true) . '</pre>';

		$html .=
		'   </body>' .
		'</html>';

		return $html;
	}
public static function get_html($exception) {
		$subject = self::get_subject($exception);

		if ($exception instanceof \ErrorException) {
			$error_type = \Skeleton\Error\Util\Misc::translate_error_code($exception->getSeverity());
		} else {
			$error_type = 'Exception';
		}

		$error_info = '';
		$error_info .= 'Error: ' . $exception->getMessage() . "\n";
		$error_info .= 'Type: ' . $error_type . "\n";
		$error_info .= 'File: ' . $exception->getFile() . "\n";
		$error_info .= 'Line: ' . $exception->getLine() . "\n\n";
		$error_info .= 'Time: ' . date('Y-m-d H:i:s') . "\n";

		$html =
		'<html>' .
		'   <head>' .
		'       <title>' . $subject . '</title>' .
		'       <style type="text/css">' .
		'           body { font-family: sans-serif; background: #eee; } ' .
		'           pre { border: 1px solid #1b2582; background: #ccc; padding: 5px; }' .
		'           h1 { width: 100%; background: #183452; font-weight: bold; color: #fff; padding: 2px; font-size: 16px;} ' .
		'           h2 { font-size: 15px; } ' .
		'       </style>' .
		'   </head>' .
		'   <body>' .
		'   <h1>' . $subject . '</h1>';

		$html .= '<h2>Message</h2> <pre>' . $exception->getMessage() . '</pre>';

		$html .= '<h2>Info</h2> <pre>' . $error_info . '</pre>';

		// Backtraces are not very useful for anything else but real exceptions
		if (!($exception instanceof \ErrorException)) {
			ob_start();
				debug_print_backtrace();
				$backtrace = ob_get_contents();
			ob_end_clean();

			$html .= '<h2>Backtrace</h2> <pre>' . $backtrace . '</pre>';
		}

		$vartrace = [
			'_GET'      => isset($_GET) ? $_GET : null,
			'_POST'     => isset($_POST) ? $_POST : null,
			'_COOKIE'   => isset($_COOKIE) ? $_COOKIE : null,
			'_SESSION'  => isset($_SESSION) ? $_SESSION : null,
			'_SERVER'   => isset($_SERVER) ? $_SERVER : null
		];

		$html .= '<h2>Vartrace</h2> <pre> ' . print_r($vartrace, true) . '</pre>';

		$html .=
		'   </body>' .
		'</html>';

		return $html;
	}
public static function get_html ( $ exception ) { $ subject = self :: get_subject ( $ exception ) ; if ( $ exception instanceof \ ErrorException ) { $ error_type = \ Skeleton \ Error \ Util \ Misc :: translate_error_code ( $ exception -> getSeverity ( ) ) ; } else { $ error_type = 'Exception' ; } $ error_info = '' ; $ error_info .= 'Error: ' . $ exception -> getMessage ( ) . "\n" ; $ error_info .= 'Type: ' . $ error_type . "\n" ; $ error_info .= 'File: ' . $ exception -> getFile ( ) . "\n" ; $ error_info .= 'Line: ' . $ exception -> getLine ( ) . "\n\n" ; $ error_info .= 'Time: ' . date ( 'Y-m-d H:i:s' ) . "\n" ; $ html = '<html>' . '   <head>' . '       <title>' . $ subject . '</title>' . '       <style type="text/css">' . '           body { font-family: sans-serif; background: #eee; } ' . '           pre { border: 1px solid #1b2582; background: #ccc; padding: 5px; }' . '           h1 { width: 100%; background: #183452; font-weight: bold; color: #fff; padding: 2px; font-size: 16px;} ' . '           h2 { font-size: 15px; } ' . '       </style>' . '   </head>' . '   <body>' . '   <h1>' . $ subject . '</h1>' ; $ html .= '<h2>Message</h2> <pre>' . $ exception -> getMessage ( ) . '</pre>' ; $ html .= '<h2>Info</h2> <pre>' . $ error_info . '</pre>' ; // Backtraces are not very useful for anything else but real exceptions if ( ! ( $ exception instanceof \ ErrorException ) ) { ob_start ( ) ; debug_print_backtrace ( ) ; $ backtrace = ob_get_contents ( ) ; ob_end_clean ( ) ; $ html .= '<h2>Backtrace</h2> <pre>' . $ backtrace . '</pre>' ; } $ vartrace = [ '_GET' => isset ( $ _GET ) ? $ _GET : null , '_POST' => isset ( $ _POST ) ? $ _POST : null , '_COOKIE' => isset ( $ _COOKIE ) ? $ _COOKIE : null , '_SESSION' => isset ( $ _SESSION ) ? $ _SESSION : null , '_SERVER' => isset ( $ _SERVER ) ? $ _SERVER : null ] ; $ html .= '<h2>Vartrace</h2> <pre> ' . print_r ( $ vartrace , true ) . '</pre>' ; $ html .= '   </body>' . '</html>' ; return $ html ; }
Produce some HTML around the error

@param $exception (can be \Throwable or \Exception)
@return string
Produce some HTML around the error