2015-08-17 17:00:26 -07:00
< ? 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\ParameterBag ;
2015-09-04 13:20:09 -07:00
use Symfony\Component\DependencyInjection\Exception\LogicException ;
2015-08-17 17:00:26 -07:00
use Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException ;
/**
* ParameterBagInterface .
*
* @ author Fabien Potencier < fabien @ symfony . com >
*/
interface ParameterBagInterface
{
/**
* Clears all parameters .
*
2015-09-04 13:20:09 -07:00
* @ throws LogicException if the ParameterBagInterface can not be cleared
2015-08-17 17:00:26 -07:00
*/
public function clear ();
/**
* Adds parameters to the service container parameters .
*
* @ param array $parameters An array of parameters
*
2015-09-04 13:20:09 -07:00
* @ throws LogicException if the parameter can not be added
2015-08-17 17:00:26 -07:00
*/
public function add ( array $parameters );
/**
* Gets the service container parameters .
*
* @ return array An array of parameters
*/
public function all ();
/**
* Gets a service container parameter .
*
* @ param string $name The parameter name
*
* @ return mixed The parameter value
*
* @ throws ParameterNotFoundException if the parameter is not defined
*/
public function get ( $name );
/**
* Sets a service container parameter .
*
* @ param string $name The parameter name
* @ param mixed $value The parameter value
*
2015-09-04 13:20:09 -07:00
* @ throws LogicException if the parameter can not be set
2015-08-17 17:00:26 -07:00
*/
public function set ( $name , $value );
/**
* Returns true if a parameter name is defined .
*
* @ param string $name The parameter name
*
* @ return bool true if the parameter name is defined , false otherwise
*/
public function has ( $name );
/**
* Replaces parameter placeholders ( % name % ) by their values for all parameters .
*/
public function resolve ();
/**
* Replaces parameter placeholders ( % name % ) by their values .
*
* @ param mixed $value A value
*
* @ throws ParameterNotFoundException if a placeholder references a parameter that does not exist
*/
public function resolveValue ( $value );
/**
* Escape parameter placeholders %.
*
* @ param mixed $value
*
* @ return mixed
*/
public function escapeValue ( $value );
/**
* Unescape parameter placeholders %.
*
* @ param mixed $value
*
* @ return mixed
*/
public function unescapeValue ( $value );
}