diff options
author | msquare <msquare@notrademark.de> | 2017-11-26 11:07:27 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-26 11:07:27 +0100 |
commit | eda7f7788ea8012bd8be46405c56a666c11f3fa5 (patch) | |
tree | 50cf84d7d07d11bd65b45c2c17f37632f6cd8eff /src/Exceptions/Handlers/LegacyDevelopment.php | |
parent | e54a10b81679bae9d19337617d6c58310d2f7a58 (diff) | |
parent | b9bc03a1bdf146e0b4ef6529ebe814a0ac9c930d (diff) |
Merge pull request #364 from MyIgel/master
Refactored error handling, changed tests from MySQL to MariaDB
Diffstat (limited to 'src/Exceptions/Handlers/LegacyDevelopment.php')
-rw-r--r-- | src/Exceptions/Handlers/LegacyDevelopment.php | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/Exceptions/Handlers/LegacyDevelopment.php b/src/Exceptions/Handlers/LegacyDevelopment.php new file mode 100644 index 00000000..86f86f4c --- /dev/null +++ b/src/Exceptions/Handlers/LegacyDevelopment.php @@ -0,0 +1,57 @@ +<?php + +namespace Engelsystem\Exceptions\Handlers; + +use Engelsystem\Http\Request; +use Throwable; + +class LegacyDevelopment extends Legacy +{ + /** + * @param Request $request + * @param Throwable $e + */ + public function render($request, Throwable $e) + { + $file = $this->stripBasePath($e->getFile()); + + echo '<pre style="background-color:#333;color:#ccc;z-index:1000;position:fixed;bottom:1em;padding:1em;width:97%;max-height: 90%;overflow-y:auto;">'; + echo sprintf('%s: (%s)' . PHP_EOL, get_class($e), $e->getCode()); + $data = [ + 'string' => $e->getMessage(), + 'file' => $file . ':' . $e->getLine(), + 'stacktrace' => $this->formatStackTrace($e->getTrace()), + ]; + var_dump($data); + echo '</pre>'; + } + + /** + * @param array $stackTrace + * @return array + */ + protected function formatStackTrace($stackTrace) + { + $return = []; + $stackTrace = array_reverse($stackTrace); + + foreach ($stackTrace as $trace) { + $path = ''; + $line = ''; + + if (isset($trace['file']) && isset($trace['line'])) { + $path = $this->stripBasePath($trace['file']); + $line = $trace['line']; + } + + $functionName = $trace['function']; + + $return[] = [ + 'file' => $path . ':' . $line, + $functionName => isset($trace['args']) ? $trace['args'] : null, + ]; + } + + return $return; + } +} |