src/Errorhandler/Fatal.php
public function shutdownCallback()
    {
        $error = error_get_last();

        // Do we have an error at all?
        if ($error  !== null && $this->getIsActive() === true) {
            // Do we need to check this one, according to our settings?
            $translatedError = $this->translateErrorType($error[static::TRACE_TYPE]);
            if ($translatedError[1] === 'traceFatals') {
                // We also need to prepare some Data we want to display.
                $errorType = $this->translateErrorType($error[static::TRACE_TYPE]);

                // We prepare the error as far as we can here.
                // The adding of the sourcecode happens in the controller.
                $errorData = array(
                    static::TRACE_TYPE => $errorType[0],
                    static::TRACE_ERROR_STRING => $error['message'],
                    static::TRACE_ERROR_FILE => $error[static::TRACE_FILE],
                    static::TRACE_ERROR_LINE => $error[static::TRACE_LINE],
                    'handler' => __FUNCTION__,
                    static::TRACE_FILE => $error[static::TRACE_FILE],
                    static::TRACE_BACKTRACE => $this->tickedBacktrace,
                );

                // Tell static main class, that we start a new analysis, to
                // prevent an infinite loop.
                AbstractController::$analysisInProgress = true;
                $this->pool
                    ->createClass('Brainworxx\\Krexx\\Controller\\ErrorController')
                    ->errorAction($errorData);
            }
        }

        // Clean exit.
    }
public function shutdownCallback()
    {
        $error = error_get_last();

        // Do we have an error at all?
        if ($error  !== null && $this->getIsActive() === true) {
            // Do we need to check this one, according to our settings?
            $translatedError = $this->translateErrorType($error[static::TRACE_TYPE]);
            if ($translatedError[1] === 'traceFatals') {
                // We also need to prepare some Data we want to display.
                $errorType = $this->translateErrorType($error[static::TRACE_TYPE]);

                // We prepare the error as far as we can here.
                // The adding of the sourcecode happens in the controller.
                $errorData = array(
                    static::TRACE_TYPE => $errorType[0],
                    static::TRACE_ERROR_STRING => $error['message'],
                    static::TRACE_ERROR_FILE => $error[static::TRACE_FILE],
                    static::TRACE_ERROR_LINE => $error[static::TRACE_LINE],
                    'handler' => __FUNCTION__,
                    static::TRACE_FILE => $error[static::TRACE_FILE],
                    static::TRACE_BACKTRACE => $this->tickedBacktrace,
                );

                // Tell static main class, that we start a new analysis, to
                // prevent an infinite loop.
                AbstractController::$analysisInProgress = true;
                $this->pool
                    ->createClass('Brainworxx\\Krexx\\Controller\\ErrorController')
                    ->errorAction($errorData);
            }
        }

        // Clean exit.
    }
public function shutdownCallback ( ) { $ error = error_get_last ( ) ; // Do we have an error at all? if ( $ error !== null && $ this -> getIsActive ( ) === true ) { // Do we need to check this one, according to our settings? $ translatedError = $ this -> translateErrorType ( $ error [ static :: TRACE_TYPE ] ) ; if ( $ translatedError [ 1 ] === 'traceFatals' ) { // We also need to prepare some Data we want to display. $ errorType = $ this -> translateErrorType ( $ error [ static :: TRACE_TYPE ] ) ; // We prepare the error as far as we can here. // The adding of the sourcecode happens in the controller. $ errorData = array ( static :: TRACE_TYPE => $ errorType [ 0 ] , static :: TRACE_ERROR_STRING => $ error [ 'message' ] , static :: TRACE_ERROR_FILE => $ error [ static :: TRACE_FILE ] , static :: TRACE_ERROR_LINE => $ error [ static :: TRACE_LINE ] , 'handler' => __FUNCTION__ , static :: TRACE_FILE => $ error [ static :: TRACE_FILE ] , static :: TRACE_BACKTRACE => $ this -> tickedBacktrace , ) ; // Tell static main class, that we start a new analysis, to // prevent an infinite loop. AbstractController :: $ analysisInProgress = true ; $ this -> pool -> createClass ( 'Brainworxx\\Krexx\\Controller\\ErrorController' ) -> errorAction ( $ errorData ) ; } } // Clean exit. }
The registered shutdown callback handles fatal errors.

In case that this handler is active, it will check whether
a fatal error has happened and give additional info like
backtrace, object analysis of the backtrace and code samples
to all stations in the backtrace.
The registered shutdown callback handles fatal errors .