• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

slimphp / Slim-Skeleton / 8514258679

01 Apr 2024 10:00PM UTC coverage: 59.494%. Remained the same
8514258679

Pull #351

github

web-flow
Merge 91becf714 into 0ef015498
Pull Request #351: Fixed "ERROR: Using ${var} in strings is deprecated, use {$var} instead"

1 of 11 new or added lines in 2 files covered. (9.09%)

13 existing lines in 1 file now uncovered.

94 of 158 relevant lines covered (59.49%)

2.04 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/Application/Handlers/ShutdownHandler.php
1
<?php
2

3
declare(strict_types=1);
4

5
namespace App\Application\Handlers;
6

7
use App\Application\ResponseEmitter\ResponseEmitter;
8
use Psr\Http\Message\ServerRequestInterface as Request;
9
use Slim\Exception\HttpInternalServerErrorException;
10

11
class ShutdownHandler
12
{
13
    private Request $request;
14

15
    private HttpErrorHandler $errorHandler;
16

17
    private bool $displayErrorDetails;
18

19
    public function __construct(
20
        Request $request,
21
        HttpErrorHandler $errorHandler,
22
        bool $displayErrorDetails
23
    ) {
NEW
24
        $this->request = $request;
×
UNCOV
25
        $this->errorHandler = $errorHandler;
×
NEW
26
        $this->displayErrorDetails = $displayErrorDetails;
×
27
    }
28

29
    public function __invoke()
30
    {
NEW
31
        $error = error_get_last();
×
UNCOV
32
        if (!$error) {
×
NEW
33
            return;
×
34
        }
35

UNCOV
36
        $message = $this->getErrorMessage($error);
×
UNCOV
37
        $exception = new HttpInternalServerErrorException($this->request, $message);
×
UNCOV
38
        $response = $this->errorHandler->__invoke(
×
39
            $this->request,
×
NEW
40
            $exception,
×
41
            $this->displayErrorDetails,
×
42
            false,
×
UNCOV
43
            false,
×
UNCOV
44
        );
×
45

46
        $responseEmitter = new ResponseEmitter();
×
NEW
47
        $responseEmitter->emit($response);
×
48
    }
49

50
    private function getErrorMessage(array $error): string
51
    {
NEW
52
        if (!$this->displayErrorDetails) {
×
NEW
53
            return 'An error while processing your request. Please try again later.';
×
54
        }
55

56
        $errorFile = $error['file'];
×
57
        $errorLine = $error['line'];
×
UNCOV
58
        $errorMessage = $error['message'];
×
UNCOV
59
        $errorType = $error['type'];
×
60

UNCOV
61
        if ($errorType === E_USER_ERROR) {
×
62
            return "FATAL ERROR: {$errorMessage}. on line {$errorLine} in file {$errorFile}.";
×
63
        }
64

UNCOV
65
        if ($errorType === E_USER_WARNING) {
×
NEW
66
            return "WARNING: {$errorMessage}";
×
67
        }
68

NEW
69
        if ($errorType === E_USER_NOTICE) {
×
UNCOV
70
            return "NOTICE: {$errorMessage}";
×
71
        }
72

UNCOV
73
        return "FATAL ERROR: {$errorMessage}. on line {$errorLine} in file {$errorFile}.";
×
74
    }
75
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc