Verzeichnisstruktur phpBB-3.2.0


Veröffentlicht
06.01.2017

So funktioniert es


Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück

Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis.
Auf den Verzeichnisnamen klicken, dies zeigt nur das Verzeichnis mit Inhalt an

      (Beispiel Datei-Icons)

Auf das Icon klicken um den Quellcode anzuzeigen

FatalErrorException.php

Zuletzt modifiziert: 09.10.2024, 12:56 - Dateigröße: 3.26 KiB


 001  <?php
 002   
 003  /*
 004   * This file is part of the Symfony package.
 005   *
 006   * (c) Fabien Potencier <fabien@symfony.com>
 007   *
 008   * For the full copyright and license information, please view the LICENSE
 009   * file that was distributed with this source code.
 010   */
 011   
 012  namespace Symfony\Component\HttpKernel\Exception;
 013   
 014  /**
 015   * Fatal Error Exception.
 016   *
 017   * @author Fabien Potencier <fabien@symfony.com>
 018   * @author Konstanton Myakshin <koc-dp@yandex.ru>
 019   * @author Nicolas Grekas <p@tchwork.com>
 020   *
 021   * @deprecated Deprecated in 2.3, to be removed in 3.0. Use the same class from the Debug component instead.
 022   */
 023  class FatalErrorException extends \ErrorException
 024  {
 025  }
 026   
 027  namespace Symfony\Component\Debug\Exception;
 028   
 029  use Symfony\Component\HttpKernel\Exception\FatalErrorException as LegacyFatalErrorException;
 030   
 031  /**
 032   * Fatal Error Exception.
 033   *
 034   * @author Konstanton Myakshin <koc-dp@yandex.ru>
 035   */
 036  class FatalErrorException extends LegacyFatalErrorException
 037  {
 038      public function __construct($message, $code, $severity, $filename, $lineno, $traceOffset = null, $traceArgs = true, array $trace = null)
 039      {
 040          parent::__construct($message, $code, $severity, $filename, $lineno);
 041   
 042          if (null !== $trace) {
 043              if (!$traceArgs) {
 044                  foreach ($trace as &$frame) {
 045                      unset($frame['args'], $frame['this'], $frame);
 046                  }
 047              }
 048   
 049              $this->setTrace($trace);
 050          } elseif (null !== $traceOffset) {
 051              if (function_exists('xdebug_get_function_stack')) {
 052                  $trace = xdebug_get_function_stack();
 053                  if (0 < $traceOffset) {
 054                      array_splice($trace, -$traceOffset);
 055                  }
 056   
 057                  foreach ($trace as &$frame) {
 058                      if (!isset($frame['type'])) {
 059                          // XDebug pre 2.1.1 doesn't currently set the call type key http://bugs.xdebug.org/view.php?id=695
 060                          if (isset($frame['class'])) {
 061                              $frame['type'] = '::';
 062                          }
 063                      } elseif ('dynamic' === $frame['type']) {
 064                          $frame['type'] = '->';
 065                      } elseif ('static' === $frame['type']) {
 066                          $frame['type'] = '::';
 067                      }
 068   
 069                      // XDebug also has a different name for the parameters array
 070                      if (!$traceArgs) {
 071                          unset($frame['params'], $frame['args']);
 072                      } elseif (isset($frame['params']) && !isset($frame['args'])) {
 073                          $frame['args'] = $frame['params'];
 074                          unset($frame['params']);
 075                      }
 076                  }
 077   
 078                  unset($frame);
 079                  $trace = array_reverse($trace);
 080              } elseif (function_exists('symfony_debug_backtrace')) {
 081                  $trace = symfony_debug_backtrace();
 082                  if (0 < $traceOffset) {
 083                      array_splice($trace, 0, $traceOffset);
 084                  }
 085              } else {
 086                  $trace = array();
 087              }
 088   
 089              $this->setTrace($trace);
 090          }
 091      }
 092   
 093      protected function setTrace($trace)
 094      {
 095          $traceReflector = new \ReflectionProperty('Exception', 'trace');
 096          $traceReflector->setAccessible(true);
 097          $traceReflector->setValue($this, $trace);
 098      }
 099  }
 100