1 | <?php |
||||
2 | |||||
3 | /** |
||||
4 | * Platine Framework |
||||
5 | * |
||||
6 | * Platine Framework is a lightweight, high-performance, simple and elegant |
||||
7 | * PHP Web framework |
||||
8 | * |
||||
9 | * This content is released under the MIT License (MIT) |
||||
10 | * |
||||
11 | * Copyright (c) 2020 Platine Framework |
||||
12 | * |
||||
13 | * Permission is hereby granted, free of charge, to any person obtaining a copy |
||||
14 | * of this software and associated documentation files (the "Software"), to deal |
||||
15 | * in the Software without restriction, including without limitation the rights |
||||
16 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
||||
17 | * copies of the Software, and to permit persons to whom the Software is |
||||
18 | * furnished to do so, subject to the following conditions: |
||||
19 | * |
||||
20 | * The above copyright notice and this permission notice shall be included in all |
||||
21 | * copies or substantial portions of the Software. |
||||
22 | * |
||||
23 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
||||
24 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
||||
25 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
||||
26 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
||||
27 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
||||
28 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
||||
29 | * SOFTWARE. |
||||
30 | */ |
||||
31 | |||||
32 | /** |
||||
33 | * @file ServiceProvider.php |
||||
34 | * |
||||
35 | * The Service provider base class |
||||
36 | * |
||||
37 | * @package Platine\Framework\Service |
||||
38 | * @author Platine Developers team |
||||
39 | * @copyright Copyright (c) 2020 |
||||
40 | * @license http://opensource.org/licenses/MIT MIT License |
||||
41 | * @link https://www.platine-php.com |
||||
42 | * @version 1.0.0 |
||||
43 | * @filesource |
||||
44 | */ |
||||
45 | |||||
46 | declare(strict_types=1); |
||||
47 | |||||
48 | namespace Platine\Framework\Service; |
||||
49 | |||||
50 | use Platine\Event\DispatcherInterface; |
||||
51 | use Platine\Event\Listener\ListenerInterface; |
||||
52 | use Platine\Event\SubscriberInterface; |
||||
53 | use Platine\Framework\App\Application; |
||||
54 | use Platine\Route\Router; |
||||
55 | |||||
56 | /** |
||||
57 | * @class ServiceProvider |
||||
58 | * @package Platine\Framework\Service |
||||
59 | */ |
||||
60 | class ServiceProvider |
||||
61 | { |
||||
62 | /** |
||||
63 | * Provider command list |
||||
64 | * @var class-string[] |
||||
0 ignored issues
–
show
Documentation
Bug
introduced
by
![]() |
|||||
65 | */ |
||||
66 | protected array $commands = []; |
||||
67 | |||||
68 | /** |
||||
69 | * Provider task list |
||||
70 | * @var class-string[] |
||||
0 ignored issues
–
show
|
|||||
71 | */ |
||||
72 | protected array $tasks = []; |
||||
73 | |||||
74 | /** |
||||
75 | * Create new instance |
||||
76 | * @param Application $app |
||||
77 | */ |
||||
78 | public function __construct(protected Application $app) |
||||
79 | { |
||||
80 | } |
||||
81 | |||||
82 | /** |
||||
83 | * Register all the services needed |
||||
84 | * @return void |
||||
85 | */ |
||||
86 | public function register(): void |
||||
87 | { |
||||
88 | } |
||||
89 | |||||
90 | /** |
||||
91 | * Action to run when the application is booted |
||||
92 | * @return void |
||||
93 | */ |
||||
94 | public function boot(): void |
||||
95 | { |
||||
96 | } |
||||
97 | |||||
98 | /** |
||||
99 | * Add application route |
||||
100 | * @param Router $router the route instance |
||||
101 | * @return void |
||||
102 | */ |
||||
103 | public function addRoutes(Router $router): void |
||||
0 ignored issues
–
show
The parameter
$router 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
This check looks for parameters that have been defined for a function or method, but which are not used in the method body. ![]() |
|||||
104 | { |
||||
105 | } |
||||
106 | |||||
107 | /** |
||||
108 | * Register command |
||||
109 | * @param class-string $command |
||||
0 ignored issues
–
show
|
|||||
110 | * @return $this |
||||
111 | */ |
||||
112 | public function addCommand(string $command): self |
||||
113 | { |
||||
114 | $this->commands[] = $command; |
||||
115 | |||||
116 | return $this; |
||||
117 | } |
||||
118 | |||||
119 | /** |
||||
120 | * Register task |
||||
121 | * @param class-string $task |
||||
0 ignored issues
–
show
|
|||||
122 | * @return $this |
||||
123 | */ |
||||
124 | public function addTask(string $task): self |
||||
125 | { |
||||
126 | $this->tasks[] = $task; |
||||
127 | |||||
128 | return $this; |
||||
129 | } |
||||
130 | |||||
131 | /** |
||||
132 | * Register a listener for the given event. |
||||
133 | * |
||||
134 | * @param string $eventName the name of event |
||||
135 | * @param ListenerInterface|callable|string $listener the Listener |
||||
136 | * interface or any callable |
||||
137 | * @param int $priority the listener execution priority |
||||
138 | * @return $this |
||||
139 | */ |
||||
140 | public function listen( |
||||
141 | string $eventName, |
||||
142 | ListenerInterface|callable|string $listener, |
||||
143 | int $priority = DispatcherInterface::PRIORITY_DEFAULT |
||||
144 | ): self { |
||||
145 | $this->app->listen($eventName, $listener, $priority); |
||||
146 | |||||
147 | return $this; |
||||
148 | } |
||||
149 | |||||
150 | /** |
||||
151 | * Add event subscriber |
||||
152 | * @param SubscriberInterface $subscriber |
||||
153 | * @return $this |
||||
154 | */ |
||||
155 | public function subscribe(SubscriberInterface $subscriber): self |
||||
156 | { |
||||
157 | $this->app->subscribe($subscriber); |
||||
158 | |||||
159 | return $this; |
||||
160 | } |
||||
161 | |||||
162 | /** |
||||
163 | * Return the list of command |
||||
164 | * @return class-string[] |
||||
0 ignored issues
–
show
|
|||||
165 | */ |
||||
166 | public function getCommands(): array |
||||
167 | { |
||||
168 | return $this->commands; |
||||
169 | } |
||||
170 | |||||
171 | /** |
||||
172 | * Return the list of task |
||||
173 | * @return class-string[] |
||||
0 ignored issues
–
show
|
|||||
174 | */ |
||||
175 | public function getTasks(): array |
||||
176 | { |
||||
177 | return $this->tasks; |
||||
178 | } |
||||
179 | } |
||||
180 |