1: | <?php declare(strict_types = 1); |
2: | |
3: | namespace PHPStan\DependencyInjection; |
4: | |
5: | /** @api */ |
6: | interface Container |
7: | { |
8: | |
9: | public function hasService(string $serviceName): bool; |
10: | |
11: | /** |
12: | * @return mixed |
13: | * @throws MissingServiceException |
14: | */ |
15: | public function getService(string $serviceName); |
16: | |
17: | /** |
18: | * @template T of object |
19: | * @param class-string<T> $className |
20: | * @return T |
21: | * @throws MissingServiceException |
22: | */ |
23: | public function getByType(string $className); |
24: | |
25: | /** |
26: | * @param class-string $className |
27: | * @return string[] |
28: | */ |
29: | public function findServiceNamesByType(string $className): array; |
30: | |
31: | /** |
32: | * @return mixed[] |
33: | */ |
34: | public function getServicesByTag(string $tagName): array; |
35: | |
36: | /** |
37: | * @return mixed[] |
38: | */ |
39: | public function getParameters(): array; |
40: | |
41: | public function hasParameter(string $parameterName): bool; |
42: | |
43: | /** |
44: | * @return mixed |
45: | * @throws ParameterNotFoundException |
46: | */ |
47: | public function getParameter(string $parameterName); |
48: | |
49: | } |
50: |