123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- <?php
- /*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
- namespace Symfony\Component\DependencyInjection;
- use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
- use Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException;
- use Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException;
- /**
- * ContainerInterface is the interface implemented by service container classes.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
- 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.
- *
- * Note: The $scope parameter is deprecated since version 2.8 and will be removed in 3.0.
- *
- * @param string $id The service identifier
- * @param object $service The service instance
- * @param string $scope The scope of the service
- */
- 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 ServiceCircularReferenceException When a circular reference is detected
- * @throws ServiceNotFoundException When the service is not defined
- *
- * @see Reference
- */
- 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 bool true if the service is defined, false otherwise
- */
- 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
- */
- public function getParameter($name);
- /**
- * Checks if a parameter exists.
- *
- * @param string $name The parameter name
- *
- * @return bool The presence of parameter in container
- */
- public function hasParameter($name);
- /**
- * Sets a parameter.
- *
- * @param string $name The parameter name
- * @param mixed $value The parameter value
- */
- public function setParameter($name, $value);
- /**
- * Enters the given scope.
- *
- * @param string $name
- *
- * @deprecated since version 2.8, to be removed in 3.0.
- */
- public function enterScope($name);
- /**
- * Leaves the current scope, and re-enters the parent scope.
- *
- * @param string $name
- *
- * @deprecated since version 2.8, to be removed in 3.0.
- */
- public function leaveScope($name);
- /**
- * Adds a scope to the container.
- *
- * @param ScopeInterface $scope
- *
- * @deprecated since version 2.8, to be removed in 3.0.
- */
- public function addScope(ScopeInterface $scope);
- /**
- * Whether this container has the given scope.
- *
- * @param string $name
- *
- * @return bool
- *
- * @deprecated since version 2.8, to be removed in 3.0.
- */
- 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 bool
- *
- * @deprecated since version 2.8, to be removed in 3.0.
- */
- public function isScopeActive($name);
- }
|