ContainerInterface.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. <?php
  2. /**
  3. * @license http://www.opensource.org/licenses/mit-license.php MIT (see the LICENSE file)
  4. */
  5. namespace Psr\Container;
  6. /**
  7. * Describes the interface of a container that exposes methods to read its entries.
  8. */
  9. interface ContainerInterface
  10. {
  11. /**
  12. * Finds an entry of the container by its identifier and returns it.
  13. *
  14. * @param string $id Identifier of the entry to look for.
  15. *
  16. * @throws NotFoundExceptionInterface No entry was found for **this** identifier.
  17. * @throws ContainerExceptionInterface Error while retrieving the entry.
  18. *
  19. * @return mixed Entry.
  20. */
  21. public function get($id);
  22. /**
  23. * Returns true if the container can return an entry for the given identifier.
  24. * Returns false otherwise.
  25. *
  26. * `has($id)` returning true does not mean that `get($id)` will not throw an exception.
  27. * It does however mean that `get($id)` will not throw a `NotFoundExceptionInterface`.
  28. *
  29. * @param string $id Identifier of the entry to look for.
  30. *
  31. * @return bool
  32. */
  33. public function has($id);
  34. }