1: <?php
2: /**
3: * PHP version 5
4: * @package generalDriver
5: * @author Christian Schiffler <c.schiffler@cyberspectrum.de>
6: * @author Stefan Heimes <stefan_heimes@hotmail.com>
7: * @author Tristan Lins <tristan.lins@bit3.de>
8: * @copyright The MetaModels team.
9: * @license LGPL.
10: * @filesource
11: */
12:
13: namespace DcGeneral;
14:
15: /**
16: * This interface describes an input provider.
17: *
18: * An input provider provides access to parameters, values and persistent values.
19: *
20: * @package DcGeneral
21: */
22: interface InputProviderInterface
23: {
24: /**
25: * Retrieve a request parameter.
26: *
27: * In plain HTTP, this will be a $_GET parameter, for other implementations consult the API.
28: *
29: * @param string $strKey The name of the parameter to be retrieved.
30: *
31: * @param bool $blnRaw Boolean flag to determine if the content shall be returned RAW or rather be stripped of
32: * potential malicious content.
33: *
34: * @return mixed
35: */
36: public function getParameter($strKey, $blnRaw = false);
37:
38: /**
39: * Save/change a request parameter.
40: *
41: * In plain HTTP, this will be a $_GET parameter, for other implementations consult the API.
42: *
43: * @param string $strKey The name of the parameter to be stored.
44: *
45: * @param mixed $varValue The value to be stored.
46: *
47: * @return InputProviderInterface
48: */
49: public function setParameter($strKey, $varValue);
50:
51: /**
52: * Unset a request parameter.
53: *
54: * In plain HTTP, this will be a $_GET parameter, for other implementations consult the API.
55: *
56: * @param string $strKey The name of the parameter to be removed.
57: *
58: * @return InputProviderInterface
59: */
60: public function unsetParameter($strKey);
61:
62: /**
63: * Determines if a request parameter is defined.
64: *
65: * In plain HTTP, this will be a $_GET parameter, for other implementations consult the API.
66: *
67: * @param string $strKey The name of the parameter to be checked.
68: *
69: * @return bool
70: */
71: public function hasParameter($strKey);
72:
73: /**
74: * Retrieve a request value.
75: *
76: * In plain HTTP, this will be a $_POST value, for other implementations consult the API.
77: *
78: * @param string $strKey The name of the value to be retrieved.
79: *
80: * @param bool $blnRaw Boolean flag to determine if the content shall be returned RAW or rather be stripped of
81: * potential malicious content.
82: *
83: * @return mixed
84: */
85: public function getValue($strKey, $blnRaw = false);
86:
87: /**
88: * Save/change a request value.
89: *
90: * In plain HTTP, this will be a $_POST value, for other implementations consult the API.
91: *
92: * @param string $strKey The name of the value to be stored.
93: *
94: * @param mixed $varValue The value to be stored.
95: *
96: * @return InputProviderInterface
97: */
98: public function setValue($strKey, $varValue);
99:
100: /**
101: * Unset a request value.
102: *
103: * In plain HTTP, this will be a $_POST value, for other implementations consult the API.
104: *
105: * @param string $strKey The name of the value to be removed.
106: *
107: * @return InputProviderInterface
108: */
109: public function unsetValue($strKey);
110:
111: /**
112: * Determines if a request value is defined.
113: *
114: * In plain HTTP, this will be a $_POST value, for other implementations consult the API.
115: *
116: * @param string $strKey The name of the value to be checked.
117: *
118: * @return bool
119: */
120: public function hasValue($strKey);
121:
122: /**
123: * Retrieve a persistent value.
124: *
125: * Usually this value is being kept in the user session.
126: *
127: * @param string $strKey The name of the value to be retrieved.
128: *
129: * @return mixed
130: */
131: public function getPersistentValue($strKey);
132:
133: /**
134: * Save/change a persistent value.
135: *
136: * Usually this value is being kept in the user session.
137: *
138: * @param string $strKey The name of the value to be stored.
139: *
140: * @param mixed $varValue The value to be stored.
141: *
142: * @return InputProviderInterface
143: */
144: public function setPersistentValue($strKey, $varValue);
145:
146: /**
147: * Determines if a persistent value is defined.
148: *
149: * Usually this value is being kept in the user session.
150: *
151: * @param string $strKey The name of the value to be checked.
152: *
153: * @return bool
154: */
155: public function hasPersistentValue($strKey);
156:
157: /**
158: * Retrieve the current request url.
159: *
160: * @return string
161: */
162: public function getRequestUrl();
163: }
164: