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. |
|
(Beispiel Datei-Icons)
|
Auf das Icon klicken um den Quellcode anzuzeigen |
FatalErrorException.php
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