interface ContainerInterface

You are here

ContainerInterface is the interface implemented by service container classes.

@author Fabien Potencier <fabien@symfony.com> @author Johannes M. Schmitt <schmittjoh@gmail.com>

@api

Namespace

Symfony\Component\DependencyInjection

Implemented by

Hierarchy

Expanded class hierarchy of ContainerInterface

Members

Contains filters are case sensitive
Namesort descending Modifiers Type Description
ContainerInterface::addScope public function Adds a scope to the container
ContainerInterface::enterScope public function Enters the given scope
ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE constant
ContainerInterface::get public function Gets a service.
ContainerInterface::getParameter public function Gets a parameter.
ContainerInterface::has public function Returns true if the given service is defined.
ContainerInterface::hasParameter public function Checks if a parameter exists.
ContainerInterface::hasScope public function Whether this container has the given scope
ContainerInterface::IGNORE_ON_INVALID_REFERENCE constant
ContainerInterface::isScopeActive public function Determines whether the given scope is currently active.
ContainerInterface::leaveScope public function Leaves the current scope, and re-enters the parent scope
ContainerInterface::NULL_ON_INVALID_REFERENCE constant
ContainerInterface::SCOPE_CONTAINER constant
ContainerInterface::SCOPE_PROTOTYPE constant
ContainerInterface::set public function Sets a service.
ContainerInterface::setParameter public function Sets a parameter.

File

core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerInterface.php, line 26

View source
interface ContainerInterface {
  const EXCEPTION_ON_INVALID_REFERENCE = 1;
  const NULL_ON_INVALID_REFERENCE = 2;
  const IGNORE_ON_INVALID_REFERENCE = 3;
  const SCOPE_CONTAINER = 'container';
  const SCOPE_PROTOTYPE = 'prototype';

  /**
   * Sets a service.
   *
   * @param string $id      The service identifier
   * @param object $service The service instance
   * @param string $scope   The scope of the service
   *
   * @api
   */
  public function set($id, $service, $scope = self::SCOPE_CONTAINER);

  /**
   * Gets a service.
   *
   * @param string $id              The service identifier
   * @param int    $invalidBehavior The behavior when the service does not exist
   *
   * @return object The associated service
   *
   * @throws InvalidArgumentException if the service is not defined
   * @throws ServiceCircularReferenceException When a circular reference is detected
   * @throws ServiceNotFoundException When the service is not defined
   *
   * @see Reference
   *
   * @api
   */
  public function get($id, $invalidBehavior = self::EXCEPTION_ON_INVALID_REFERENCE);

  /**
   * Returns true if the given service is defined.
   *
   * @param string $id The service identifier
   *
   * @return Boolean true if the service is defined, false otherwise
   *
   * @api
   */
  public function has($id);

  /**
   * Gets a parameter.
   *
   * @param string $name The parameter name
   *
   * @return mixed  The parameter value
   *
   * @throws InvalidArgumentException if the parameter is not defined
   *
   * @api
   */
  public function getParameter($name);

  /**
   * Checks if a parameter exists.
   *
   * @param string $name The parameter name
   *
   * @return Boolean The presence of parameter in container
   *
   * @api
   */
  public function hasParameter($name);

  /**
   * Sets a parameter.
   *
   * @param string $name  The parameter name
   * @param mixed  $value The parameter value
   *
   * @api
   */
  public function setParameter($name, $value);

  /**
   * Enters the given scope
   *
   * @param string $name
   *
   * @api
   */
  public function enterScope($name);

  /**
   * Leaves the current scope, and re-enters the parent scope
   *
   * @param string $name
   *
   * @api
   */
  public function leaveScope($name);

  /**
   * Adds a scope to the container
   *
   * @param ScopeInterface $scope
   *
   * @api
   */
  public function addScope(ScopeInterface $scope);

  /**
   * Whether this container has the given scope
   *
   * @param string $name
   *
   * @return Boolean
   *
   * @api
   */
  public function hasScope($name);

  /**
   * Determines whether the given scope is currently active.
   *
   * It does however not check if the scope actually exists.
   *
   * @param string $name
   *
   * @return Boolean
   *
   * @api
   */
  public function isScopeActive($name);
}
303 files declare their use of ContainerInterface