src/debug/DebugHelper.php
public static function formatTrace(array $trace, $indent = '') {
        $appRoot = self::di('config')['app.dir.root'];
        $result  = '';

        $size = sizeof($trace);
        $callLen = $lineLen = 0;

        for ($i=0; $i < $size; $i++) {               // align FILE and LINE
            $frame = &$trace[$i];

            $call = self::getFQFunctionName($frame, $nsLowerCase=true);

            if ($call!='{main}' && !strEndsWith($call, '{closure}'))
                $call.='()';
            $callLen = max($callLen, strlen($call));
            $frame['call'] = $call;

            $frame['line'] = isset($frame['line']) ? ' # line '.$frame['line'].',' : '';
            $lineLen = max($lineLen, strlen($frame['line']));

            if (isset($frame['file']))                 $frame['file'] = ' file: '.(!$appRoot ? $frame['file'] : strRightFrom($frame['file'], $appRoot.DIRECTORY_SEPARATOR, 1, false, $frame['file']));
            elseif (strStartsWith($call, 'phalcon\\')) $frame['file'] = ' [php-phalcon]';
            else                                       $frame['file'] = ' [php]';
        }
        if ($appRoot) {
            $trace[] = ['call'=>'', 'line'=>'', 'file'=>' file base: '.$appRoot];
            $i++;
        }

        for ($i=0; $i < $size; $i++) {
            $result .= $indent.str_pad($trace[$i]['call'], $callLen).' '.str_pad($trace[$i]['line'], $lineLen).$trace[$i]['file'].NL;
        }

        return $result;
    }
public static function formatTrace(array $trace, $indent = '') {
        $appRoot = self::di('config')['app.dir.root'];
        $result  = '';

        $size = sizeof($trace);
        $callLen = $lineLen = 0;

        for ($i=0; $i < $size; $i++) {               // align FILE and LINE
            $frame = &$trace[$i];

            $call = self::getFQFunctionName($frame, $nsLowerCase=true);

            if ($call!='{main}' && !strEndsWith($call, '{closure}'))
                $call.='()';
            $callLen = max($callLen, strlen($call));
            $frame['call'] = $call;

            $frame['line'] = isset($frame['line']) ? ' # line '.$frame['line'].',' : '';
            $lineLen = max($lineLen, strlen($frame['line']));

            if (isset($frame['file']))                 $frame['file'] = ' file: '.(!$appRoot ? $frame['file'] : strRightFrom($frame['file'], $appRoot.DIRECTORY_SEPARATOR, 1, false, $frame['file']));
            elseif (strStartsWith($call, 'phalcon\\')) $frame['file'] = ' [php-phalcon]';
            else                                       $frame['file'] = ' [php]';
        }
        if ($appRoot) {
            $trace[] = ['call'=>'', 'line'=>'', 'file'=>' file base: '.$appRoot];
            $i++;
        }

        for ($i=0; $i < $size; $i++) {
            $result .= $indent.str_pad($trace[$i]['call'], $callLen).' '.str_pad($trace[$i]['line'], $lineLen).$trace[$i]['file'].NL;
        }

        return $result;
    }
public static function formatTrace ( array $ trace , $ indent = '' ) { $ appRoot = self :: di ( 'config' ) [ 'app.dir.root' ] ; $ result = '' ; $ size = sizeof ( $ trace ) ; $ callLen = $ lineLen = 0 ; for ( $ i = 0 ; $ i < $ size ; $ i ++ ) { // align FILE and LINE $ frame = & $ trace [ $ i ] ; $ call = self :: getFQFunctionName ( $ frame , $ nsLowerCase = true ) ; if ( $ call != '{main}' && ! strEndsWith ( $ call , '{closure}' ) ) $ call .= '()' ; $ callLen = max ( $ callLen , strlen ( $ call ) ) ; $ frame [ 'call' ] = $ call ; $ frame [ 'line' ] = isset ( $ frame [ 'line' ] ) ? ' # line ' . $ frame [ 'line' ] . ',' : '' ; $ lineLen = max ( $ lineLen , strlen ( $ frame [ 'line' ] ) ) ; if ( isset ( $ frame [ 'file' ] ) ) $ frame [ 'file' ] = ' file: ' . ( ! $ appRoot ? $ frame [ 'file' ] : strRightFrom ( $ frame [ 'file' ] , $ appRoot . DIRECTORY_SEPARATOR , 1 , false , $ frame [ 'file' ] ) ) ; elseif ( strStartsWith ( $ call , 'phalcon\\' ) ) $ frame [ 'file' ] = ' [php-phalcon]' ; else $ frame [ 'file' ] = ' [php]' ; } if ( $ appRoot ) { $ trace [ ] = [ 'call' => '' , 'line' => '' , 'file' => ' file base: ' . $ appRoot ] ; $ i ++ ; } for ( $ i = 0 ; $ i < $ size ; $ i ++ ) { $ result .= $ indent . str_pad ( $ trace [ $ i ] [ 'call' ] , $ callLen ) . ' ' . str_pad ( $ trace [ $ i ] [ 'line' ] , $ lineLen ) . $ trace [ $ i ] [ 'file' ] . NL ; } return $ result ; }
Return a formatted and human-readable version of a stacktrace.

@param  array  $trace             - stacktrace
@param  string $indent [optional] - indent the formatted lines by this value (default: empty string)

@return string
Return a formatted and human - readable version of a stacktrace .