Issues (186)

Classes/Service/RuntimeService.php (2 issues)

Labels
Severity
1
<?php
2
declare(strict_types=1);
3
4
/*
5
 * Copyright (C)
6
 * Nathan Boiron <[email protected]>
7
 * Romain Canon <[email protected]>
8
 *
9
 * This file is part of the TYPO3 NotiZ project.
10
 * It is free software; you can redistribute it and/or modify it
11
 * under the terms of the GNU General Public License, either
12
 * version 3 of the License, or any later version.
13
 *
14
 * For the full copyright and license information, see:
15
 * http://www.gnu.org/licenses/gpl-3.0.html
16
 */
17
18
namespace CuyZ\Notiz\Service;
19
20
use CuyZ\Notiz\Core\Definition\DefinitionService;
21
use CuyZ\Notiz\Service\Traits\ExtendedSelfInstantiateTrait;
22
use Throwable;
23
use TYPO3\CMS\Core\SingletonInterface;
24
use TYPO3\CMS\Extbase\Validation\Error;
0 ignored issues
show
The type TYPO3\CMS\Extbase\Validation\Error was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
25
26
class RuntimeService implements SingletonInterface
27
{
28
    use ExtendedSelfInstantiateTrait {
29
        get as getInstance;
30
    }
31
32
    /**
33
     * If an exception/error is thrown during the runtime of the application, it
34
     * will be stored here to prevent blocking the user from accessing the TYPO3
35
     * backend.
36
     *
37
     * The exception can be shown in the backend module for debugging purpose.
38
     *
39
     * @var Throwable
40
     */
41
    protected $exception;
42
43
    /**
44
     * @param Throwable $exception
45
     */
46
    public function setException(Throwable $exception)
47
    {
48
        $error = new Error('Runtime exception: ' . $exception->getMessage(), 1507489776);
49
        DefinitionService::get()->getValidationResult()->addError($error);
0 ignored issues
show
It seems like getValidationResult() must be provided by classes using this trait. How about adding it as abstract method to this trait? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

49
        DefinitionService::get()->/** @scrutinizer ignore-call */ getValidationResult()->addError($error);
Loading history...
50
51
        $this->exception = $exception;
52
    }
53
54
    /**
55
     * @return Throwable|null [PHP 7.1]
56
     */
57
    public function getException()
58
    {
59
        return $this->exception;
60
    }
61
}
62