Issues (16)

src/Xervice/Service/ServiceDependencyProvider.php (5 issues)

Severity
1
<?php
2
declare(strict_types=1);
3
4
5
namespace Xervice\Service;
6
7
8
use Xervice\Core\Dependency\DependencyProviderInterface;
9
use Xervice\Core\Dependency\Provider\AbstractProvider;
10
use Xervice\Service\Handler\Handler\DebugHandler;
11
use Xervice\Service\Handler\Handler\ErrorHandler;
12
use Xervice\Service\Handler\Handler\ExceptionHandler;
13
use Xervice\Service\Handler\HandlerCollection;
14
use Xervice\Service\Lumen\ApplicationBridge;
15
use Xervice\Service\Middleware\Security\Validator\ValidatorCollection;
16
use Xervice\Service\Route\RouterCollection;
17
18
/**
19
 * @method \Xervice\Core\Locator\Locator getLocator()
20
 */
21
class ServiceDependencyProvider extends AbstractProvider
22
{
23
    public const APPLICATION = 'application';
24
25
    public const APP_SERVICE_PROVIDER = 'app.service.provider';
26
27
    public const APP_ROUTE_COLLECTION = 'app.route.collection';
28
29
    public const APP_HANDLER = 'app.handler';
30
31
    public const APP_SECURITY_VALIDATOR_COLLECTION = 'app.security.validator.collection';
32
33
    /**
34
     * @param \Xervice\Core\Dependency\DependencyProviderInterface $dependencyProvider
35
     */
36 1
    public function handleDependencies(DependencyProviderInterface $dependencyProvider): void
37
    {
38 1
        $this->setApplication($dependencyProvider);
39 1
        $this->setApplicationServiceProvider($dependencyProvider);
40 1
        $this->setRouteCollection($dependencyProvider);
41 1
        $this->setSecurityValidatorCollection($dependencyProvider);
42 1
        $this->setHandlerCollection($dependencyProvider);
43 1
    }
44
45
    /**
46
     * @param \Xervice\Core\Dependency\DependencyProviderInterface $dependencyProvider
47
     *
48
     * @return \Xervice\Service\Middleware\Security\Validator\ValidatorInterface[]
49
     */
50
    protected function getBasicAuthValidator(DependencyProviderInterface $dependencyProvider)
0 ignored issues
show
The parameter $dependencyProvider is not used and could be removed. ( Ignorable by Annotation )

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

50
    protected function getBasicAuthValidator(/** @scrutinizer ignore-unused */ DependencyProviderInterface $dependencyProvider)

This check looks for parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
51
    {
52
        return [];
53
    }
54
55
    /**
56
     * @return \Xervice\Service\Handler\HandlerInterface[]
57
     */
58
    protected function getHandler()
59
    {
60
        return [
61
            new ErrorHandler(),
62
            new ExceptionHandler(),
63
            new DebugHandler()
64
        ];
65
    }
66
67
    /**
68
     * @return \Xervice\Service\Route\RouteInterface[]
69
     */
70
    protected function getRouteProvider()
71
    {
72
        return [];
73
    }
74
75
    /**
76
     * @return \Xervice\Service\Service\ServiceProviderInterface[]
77
     */
78
    protected function getApplicationServiceProvider()
79
    {
80
        return [];
81
    }
82
83
    /**
84
     * @param \Xervice\Core\Dependency\DependencyProviderInterface $dependencyProvider
85
     */
86 1
    private function setApplication(DependencyProviderInterface $dependencyProvider): void
87
    {
88
        $dependencyProvider[self::APPLICATION] = function (DependencyProviderInterface $dependencyProvider) {
0 ignored issues
show
The parameter $dependencyProvider is not used and could be removed. ( Ignorable by Annotation )

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

88
        $dependencyProvider[self::APPLICATION] = function (/** @scrutinizer ignore-unused */ DependencyProviderInterface $dependencyProvider) {

This check looks for parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
89
            return new ApplicationBridge();
90
        };
91 1
    }
92
93
    /**
94
     * @param \Xervice\Core\Dependency\DependencyProviderInterface $dependencyProvider
95
     */
96 1
    private function setApplicationServiceProvider(DependencyProviderInterface $dependencyProvider): void
97
    {
98
        $dependencyProvider[self::APP_SERVICE_PROVIDER] = function (DependencyProviderInterface $dependencyProvider) {
0 ignored issues
show
The parameter $dependencyProvider is not used and could be removed. ( Ignorable by Annotation )

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

98
        $dependencyProvider[self::APP_SERVICE_PROVIDER] = function (/** @scrutinizer ignore-unused */ DependencyProviderInterface $dependencyProvider) {

This check looks for parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
99
            return $this->getApplicationServiceProvider();
100
        };
101 1
    }
102
103
    /**
104
     * @param \Xervice\Core\Dependency\DependencyProviderInterface $dependencyProvider
105
     */
106 1
    private function setRouteCollection(DependencyProviderInterface $dependencyProvider): void
107
    {
108
        $dependencyProvider[self::APP_ROUTE_COLLECTION] = function (DependencyProviderInterface $dependencyProvider) {
0 ignored issues
show
The parameter $dependencyProvider is not used and could be removed. ( Ignorable by Annotation )

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

108
        $dependencyProvider[self::APP_ROUTE_COLLECTION] = function (/** @scrutinizer ignore-unused */ DependencyProviderInterface $dependencyProvider) {

This check looks for parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
109
            return new RouterCollection(
110
                $this->getRouteProvider()
111
            );
112
        };
113 1
    }
114
115
    /**
116
     * @param \Xervice\Core\Dependency\DependencyProviderInterface $dependencyProvider
117
     *
118
     * @return \Xervice\Core\Dependency\DependencyProviderInterface
119
     */
120 1
    private function setSecurityValidatorCollection(DependencyProviderInterface $dependencyProvider)
121
    {
122
        $dependencyProvider[self::APP_SECURITY_VALIDATOR_COLLECTION] = function (DependencyProviderInterface $dependencyProvider) {
123
            return new ValidatorCollection(
124
                $this->getBasicAuthValidator($dependencyProvider)
125
            );
126
        };
127 1
    }
128
129
    /**
130
     * @param \Xervice\Core\Dependency\DependencyProviderInterface $dependencyProvider
131
     */
132 1
    private function setHandlerCollection(DependencyProviderInterface $dependencyProvider): void
133
    {
134
        $dependencyProvider[self::APP_HANDLER] = function (DependencyProviderInterface $dependencyProvider) {
0 ignored issues
show
The parameter $dependencyProvider is not used and could be removed. ( Ignorable by Annotation )

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

134
        $dependencyProvider[self::APP_HANDLER] = function (/** @scrutinizer ignore-unused */ DependencyProviderInterface $dependencyProvider) {

This check looks for parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
135
            return new HandlerCollection(
136
                $this->getHandler()
137
            );
138
        };
139
    }
140
}