blob: b2cad40153358d09f18631ac5044fa47ceb8d8fa [file] [log] [blame]
Matthias Andreas Benkard7b2a3a12021-08-16 10:57:25 +02001<?php
2
3declare(strict_types=1);
4
5namespace Psr\Container;
6
7/**
8 * Describes the interface of a container that exposes methods to read its entries.
9 */
10interface ContainerInterface
11{
12 /**
13 * Finds an entry of the container by its identifier and returns it.
14 *
15 * @param string $id Identifier of the entry to look for.
16 *
17 * @throws NotFoundExceptionInterface No entry was found for **this** identifier.
18 * @throws ContainerExceptionInterface Error while retrieving the entry.
19 *
20 * @return mixed Entry.
21 */
22 public function get(string $id);
23
24 /**
25 * Returns true if the container can return an entry for the given identifier.
26 * Returns false otherwise.
27 *
28 * `has($id)` returning true does not mean that `get($id)` will not throw an exception.
29 * It does however mean that `get($id)` will not throw a `NotFoundExceptionInterface`.
30 *
31 * @param string $id Identifier of the entry to look for.
32 *
33 * @return bool
34 */
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010035 public function has(string $id): bool;
Matthias Andreas Benkard7b2a3a12021-08-16 10:57:25 +020036}