Version 1
[yaffs-website] / vendor / symfony / dependency-injection / ParameterBag / ParameterBagInterface.php
1 <?php
2
3 /*
4  * This file is part of the Symfony package.
5  *
6  * (c) Fabien Potencier <fabien@symfony.com>
7  *
8  * For the full copyright and license information, please view the LICENSE
9  * file that was distributed with this source code.
10  */
11
12 namespace Symfony\Component\DependencyInjection\ParameterBag;
13
14 use Symfony\Component\DependencyInjection\Exception\LogicException;
15 use Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException;
16
17 /**
18  * ParameterBagInterface.
19  *
20  * @author Fabien Potencier <fabien@symfony.com>
21  */
22 interface ParameterBagInterface
23 {
24     /**
25      * Clears all parameters.
26      *
27      * @throws LogicException if the ParameterBagInterface can not be cleared
28      */
29     public function clear();
30
31     /**
32      * Adds parameters to the service container parameters.
33      *
34      * @param array $parameters An array of parameters
35      *
36      * @throws LogicException if the parameter can not be added
37      */
38     public function add(array $parameters);
39
40     /**
41      * Gets the service container parameters.
42      *
43      * @return array An array of parameters
44      */
45     public function all();
46
47     /**
48      * Gets a service container parameter.
49      *
50      * @param string $name The parameter name
51      *
52      * @return mixed The parameter value
53      *
54      * @throws ParameterNotFoundException if the parameter is not defined
55      */
56     public function get($name);
57
58     /**
59      * Sets a service container parameter.
60      *
61      * @param string $name  The parameter name
62      * @param mixed  $value The parameter value
63      *
64      * @throws LogicException if the parameter can not be set
65      */
66     public function set($name, $value);
67
68     /**
69      * Returns true if a parameter name is defined.
70      *
71      * @param string $name The parameter name
72      *
73      * @return bool true if the parameter name is defined, false otherwise
74      */
75     public function has($name);
76
77     /**
78      * Replaces parameter placeholders (%name%) by their values for all parameters.
79      */
80     public function resolve();
81
82     /**
83      * Replaces parameter placeholders (%name%) by their values.
84      *
85      * @param mixed $value A value
86      *
87      * @throws ParameterNotFoundException if a placeholder references a parameter that does not exist
88      */
89     public function resolveValue($value);
90
91     /**
92      * Escape parameter placeholders %.
93      *
94      * @param mixed $value
95      *
96      * @return mixed
97      */
98     public function escapeValue($value);
99
100     /**
101      * Unescape parameter placeholders %.
102      *
103      * @param mixed $value
104      *
105      * @return mixed
106      */
107     public function unescapeValue($value);
108 }