diff options
Diffstat (limited to 'vendor/symfony/service-contracts/ServiceProviderInterface.php')
-rw-r--r-- | vendor/symfony/service-contracts/ServiceProviderInterface.php | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/vendor/symfony/service-contracts/ServiceProviderInterface.php b/vendor/symfony/service-contracts/ServiceProviderInterface.php new file mode 100644 index 0000000..2e71f00 --- /dev/null +++ b/vendor/symfony/service-contracts/ServiceProviderInterface.php | |||
@@ -0,0 +1,45 @@ | |||
1 | <?php | ||
2 | |||
3 | /* | ||
4 | * This file is part of the Symfony package. | ||
5 | * | ||
6 | * (c) Fabien Potencier <fabien@symfony.com> | ||
7 | * | ||
8 | * For the full copyright and license information, please view the LICENSE | ||
9 | * file that was distributed with this source code. | ||
10 | */ | ||
11 | |||
12 | namespace Symfony\Contracts\Service; | ||
13 | |||
14 | use Psr\Container\ContainerInterface; | ||
15 | |||
16 | /** | ||
17 | * A ServiceProviderInterface exposes the identifiers and the types of services provided by a container. | ||
18 | * | ||
19 | * @author Nicolas Grekas <p@tchwork.com> | ||
20 | * @author Mateusz Sip <mateusz.sip@gmail.com> | ||
21 | * | ||
22 | * @template-covariant T of mixed | ||
23 | */ | ||
24 | interface ServiceProviderInterface extends ContainerInterface | ||
25 | { | ||
26 | /** | ||
27 | * @return T | ||
28 | */ | ||
29 | public function get(string $id): mixed; | ||
30 | |||
31 | public function has(string $id): bool; | ||
32 | |||
33 | /** | ||
34 | * Returns an associative array of service types keyed by the identifiers provided by the current container. | ||
35 | * | ||
36 | * Examples: | ||
37 | * | ||
38 | * * ['logger' => 'Psr\Log\LoggerInterface'] means the object provides a service named "logger" that implements Psr\Log\LoggerInterface | ||
39 | * * ['foo' => '?'] means the container provides service name "foo" of unspecified type | ||
40 | * * ['bar' => '?Bar\Baz'] means the container provides a service "bar" of type Bar\Baz|null | ||
41 | * | ||
42 | * @return array<string, string> The provided service types, keyed by service names | ||
43 | */ | ||
44 | public function getProvidedServices(): array; | ||
45 | } | ||