class ExceptionHandler

ExceptionHandler converts an exception to a Response object.

It is mostly useful in debug mode to replace the default PHP/XDebug output with something prettier and more useful.

As this class is mainly used during Kernel boot, where nothing is yet available, the Response content is always HTML.

Constants

GHOST_ADDONS

GHOST_GIFT

GHOST_HEART

GHOST_PLUS

Methods

__construct(bool $debug = true, string $charset = null, $fileLinkFormat = null)

No description

register(bool $debug = true, string|null $charset = null, string|null $fileLinkFormat = null)

Registers the exception handler.

callable|null
setHandler(callable $handler = null)

Sets a user exception handler.

string
setFileLinkFormat(string|FileLinkFormatter $fileLinkFormat)

Sets the format for links to source files.

handle(Exception $exception)

Sends a response for the given Exception.

sendPhpResponse(Exception|FlattenException $exception)

Sends the error associated with the given Exception as a plain PHP response.

string
getHtml(Exception|FlattenException $exception)

Gets the full HTML content associated with the given exception.

string
getContent(FlattenException $exception)

Gets the HTML content associated with the given exception.

string
getStylesheet(FlattenException $exception)

Gets the stylesheet associated with the given exception.

Details

at line 51
__construct(bool $debug = true, string $charset = null, $fileLinkFormat = null)

Parameters

bool $debug
string $charset
$fileLinkFormat

at line 67
static ExceptionHandler register(bool $debug = true, string|null $charset = null, string|null $fileLinkFormat = null)

Registers the exception handler.

Parameters

bool $debug Enable/disable debug mode, where the stack trace is displayed
string|null $charset The charset used by exception messages
string|null $fileLinkFormat The IDE link template

Return Value

ExceptionHandler

at line 87
callable|null setHandler(callable $handler = null)

Sets a user exception handler.

Parameters

callable $handler An handler that will be called on Exception

Return Value

callable|null The previous exception handler if any

at line 102
string setFileLinkFormat(string|FileLinkFormatter $fileLinkFormat)

Sets the format for links to source files.

Parameters

string|FileLinkFormatter $fileLinkFormat The format for links to source files

Return Value

string The previous file link format

at line 118
handle(Exception $exception)

Sends a response for the given Exception.

To be as fail-safe as possible, the exception is first handled by our simple exception handler, then by the user exception handler. The latter takes precedence and any output from the former is cancelled, if and only if nothing bad happens in this handling path.

Parameters

Exception $exception

at line 175
sendPhpResponse(Exception|FlattenException $exception)

Sends the error associated with the given Exception as a plain PHP response.

This method uses plain PHP functions like header() and echo to output the response.

Parameters

Exception|FlattenException $exception An \Exception or FlattenException instance

at line 199
string getHtml(Exception|FlattenException $exception)

Gets the full HTML content associated with the given exception.

Parameters

Exception|FlattenException $exception An \Exception or FlattenException instance

Return Value

string The HTML content as a string

at line 213
string getContent(FlattenException $exception)

Gets the HTML content associated with the given exception.

Parameters

FlattenException $exception

Return Value

string The content as a string

at line 298
string getStylesheet(FlattenException $exception)

Gets the stylesheet associated with the given exception.

Parameters

FlattenException $exception

Return Value

string The stylesheet as a string