Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. ErrorHandler.php

function ErrorHandler::cleanTrace

Cleans the trace by removing function arguments and the frames added by the error handler and DebugClassLoader.

1 call to ErrorHandler::cleanTrace()
ErrorHandler::handleError in vendor/symfony/error-handler/ErrorHandler.php
Handles errors by filtering then logging them according to the configured bit fields.

File

vendor/symfony/error-handler/ErrorHandler.php, line 700

Class

ErrorHandler
A generic ErrorHandler for the PHP engine.

Namespace

Symfony\Component\ErrorHandler

Code

private function cleanTrace(array $backtrace, int $type, string &$file, int &$line, bool $throw) : array {
    $lightTrace = $backtrace;
    for ($i = 0; isset($backtrace[$i]); ++$i) {
        if (isset($backtrace[$i]['file'], $backtrace[$i]['line']) && $backtrace[$i]['line'] === $line && $backtrace[$i]['file'] === $file) {
            $lightTrace = \array_slice($lightTrace, 1 + $i);
            break;
        }
    }
    if (\E_USER_DEPRECATED === $type) {
        for ($i = 0; isset($lightTrace[$i]); ++$i) {
            if (!isset($lightTrace[$i]['file'], $lightTrace[$i]['line'], $lightTrace[$i]['function'])) {
                continue;
            }
            if (!isset($lightTrace[$i]['class']) && 'trigger_deprecation' === $lightTrace[$i]['function']) {
                $file = $lightTrace[$i]['file'];
                $line = $lightTrace[$i]['line'];
                $lightTrace = \array_slice($lightTrace, 1 + $i);
                break;
            }
        }
    }
    if (class_exists(DebugClassLoader::class, false)) {
        for ($i = \count($lightTrace) - 2; 0 < $i; --$i) {
            if (DebugClassLoader::class === ($lightTrace[$i]['class'] ?? null)) {
                array_splice($lightTrace, --$i, 2);
            }
        }
    }
    if (!($throw || $this->scopedErrors & $type)) {
        for ($i = 0; isset($lightTrace[$i]); ++$i) {
            unset($lightTrace[$i]['args'], $lightTrace[$i]['object']);
        }
    }
    return $lightTrace;
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal