Subversion-Projekte lars-tiefland.laravel_shop

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
148 lars 1
<?php
2
 
3
namespace Spatie\LaravelIgnition\Renderers;
4
 
5
use Error;
6
use ErrorException;
7
use Throwable;
8
use Whoops\Handler\Handler;
9
 
10
class IgnitionWhoopsHandler extends Handler
11
{
12
    protected ErrorPageRenderer $errorPageHandler;
13
 
14
    protected Throwable $exception;
15
 
16
    public function __construct(ErrorPageRenderer $errorPageHandler)
17
    {
18
        $this->errorPageHandler = $errorPageHandler;
19
    }
20
 
21
    public function handle(): ?int
22
    {
23
        try {
24
            $this->errorPageHandler->render($this->exception);
25
        } catch (Error $error) {
26
            // Errors aren't caught by Whoops.
27
            // Convert the error to an exception and throw again.
28
 
29
            throw new ErrorException(
30
                $error->getMessage(),
31
                $error->getCode(),
32
                1,
33
                $error->getFile(),
34
                $error->getLine(),
35
                $error
36
            );
37
        }
38
 
39
        return Handler::QUIT;
40
    }
41
 
42
    /** @param \Throwable $exception */
43
    public function setException($exception): void
44
    {
45
        $this->exception = $exception;
46
    }
47
}