Verzeichnisstruktur phpBB-3.1.0
- Veröffentlicht
- 27.10.2014
So funktioniert es
|
Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück |
Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis. |
|
(Beispiel Datei-Icons)
|
Auf das Icon klicken um den Quellcode anzuzeigen |
RequestContext.php
001 <?php
002
003 /*
004 * This file is part of the Symfony package.
005 *
006 * (c) Fabien Potencier <fabien@symfony.com>
007 *
008 * For the full copyright and license information, please view the LICENSE
009 * file that was distributed with this source code.
010 */
011
012 namespace Symfony\Component\Routing;
013
014 use Symfony\Component\HttpFoundation\Request;
015
016 /**
017 * Holds information about the current request.
018 *
019 * @author Fabien Potencier <fabien@symfony.com>
020 * @author Tobias Schultze <http://tobion.de>
021 *
022 * @api
023 */
024 class RequestContext
025 {
026 private $baseUrl;
027 private $pathInfo;
028 private $method;
029 private $host;
030 private $scheme;
031 private $httpPort;
032 private $httpsPort;
033 private $queryString;
034
035 /**
036 * @var array
037 */
038 private $parameters = array();
039
040 /**
041 * Constructor.
042 *
043 * @param string $baseUrl The base URL
044 * @param string $method The HTTP method
045 * @param string $host The HTTP host name
046 * @param string $scheme The HTTP scheme
047 * @param int $httpPort The HTTP port
048 * @param int $httpsPort The HTTPS port
049 * @param string $path The path
050 * @param string $queryString The query string
051 *
052 * @api
053 */
054 public function __construct($baseUrl = '', $method = 'GET', $host = 'localhost', $scheme = 'http', $httpPort = 80, $httpsPort = 443, $path = '/', $queryString = '')
055 {
056 $this->setBaseUrl($baseUrl);
057 $this->setMethod($method);
058 $this->setHost($host);
059 $this->setScheme($scheme);
060 $this->setHttpPort($httpPort);
061 $this->setHttpsPort($httpsPort);
062 $this->setPathInfo($path);
063 $this->setQueryString($queryString);
064 }
065
066 /**
067 * Updates the RequestContext information based on a HttpFoundation Request.
068 *
069 * @param Request $request A Request instance
070 */
071 public function fromRequest(Request $request)
072 {
073 $this->setBaseUrl($request->getBaseUrl());
074 $this->setPathInfo($request->getPathInfo());
075 $this->setMethod($request->getMethod());
076 $this->setHost($request->getHost());
077 $this->setScheme($request->getScheme());
078 $this->setHttpPort($request->isSecure() ? $this->httpPort : $request->getPort());
079 $this->setHttpsPort($request->isSecure() ? $request->getPort() : $this->httpsPort);
080 $this->setQueryString($request->server->get('QUERY_STRING', ''));
081 }
082
083 /**
084 * Gets the base URL.
085 *
086 * @return string The base URL
087 */
088 public function getBaseUrl()
089 {
090 return $this->baseUrl;
091 }
092
093 /**
094 * Sets the base URL.
095 *
096 * @param string $baseUrl The base URL
097 *
098 * @api
099 */
100 public function setBaseUrl($baseUrl)
101 {
102 $this->baseUrl = $baseUrl;
103 }
104
105 /**
106 * Gets the path info.
107 *
108 * @return string The path info
109 */
110 public function getPathInfo()
111 {
112 return $this->pathInfo;
113 }
114
115 /**
116 * Sets the path info.
117 *
118 * @param string $pathInfo The path info
119 */
120 public function setPathInfo($pathInfo)
121 {
122 $this->pathInfo = $pathInfo;
123 }
124
125 /**
126 * Gets the HTTP method.
127 *
128 * The method is always an uppercased string.
129 *
130 * @return string The HTTP method
131 */
132 public function getMethod()
133 {
134 return $this->method;
135 }
136
137 /**
138 * Sets the HTTP method.
139 *
140 * @param string $method The HTTP method
141 *
142 * @api
143 */
144 public function setMethod($method)
145 {
146 $this->method = strtoupper($method);
147 }
148
149 /**
150 * Gets the HTTP host.
151 *
152 * The host is always lowercased because it must be treated case-insensitive.
153 *
154 * @return string The HTTP host
155 */
156 public function getHost()
157 {
158 return $this->host;
159 }
160
161 /**
162 * Sets the HTTP host.
163 *
164 * @param string $host The HTTP host
165 *
166 * @api
167 */
168 public function setHost($host)
169 {
170 $this->host = strtolower($host);
171 }
172
173 /**
174 * Gets the HTTP scheme.
175 *
176 * @return string The HTTP scheme
177 */
178 public function getScheme()
179 {
180 return $this->scheme;
181 }
182
183 /**
184 * Sets the HTTP scheme.
185 *
186 * @param string $scheme The HTTP scheme
187 *
188 * @api
189 */
190 public function setScheme($scheme)
191 {
192 $this->scheme = strtolower($scheme);
193 }
194
195 /**
196 * Gets the HTTP port.
197 *
198 * @return int The HTTP port
199 */
200 public function getHttpPort()
201 {
202 return $this->httpPort;
203 }
204
205 /**
206 * Sets the HTTP port.
207 *
208 * @param int $httpPort The HTTP port
209 *
210 * @api
211 */
212 public function setHttpPort($httpPort)
213 {
214 $this->httpPort = (int) $httpPort;
215 }
216
217 /**
218 * Gets the HTTPS port.
219 *
220 * @return int The HTTPS port
221 */
222 public function getHttpsPort()
223 {
224 return $this->httpsPort;
225 }
226
227 /**
228 * Sets the HTTPS port.
229 *
230 * @param int $httpsPort The HTTPS port
231 *
232 * @api
233 */
234 public function setHttpsPort($httpsPort)
235 {
236 $this->httpsPort = (int) $httpsPort;
237 }
238
239 /**
240 * Gets the query string.
241 *
242 * @return string The query string without the "?"
243 */
244 public function getQueryString()
245 {
246 return $this->queryString;
247 }
248
249 /**
250 * Sets the query string.
251 *
252 * @param string $queryString The query string (after "?")
253 *
254 * @api
255 */
256 public function setQueryString($queryString)
257 {
258 // string cast to be fault-tolerant, accepting null
259 $this->queryString = (string) $queryString;
260 }
261
262 /**
263 * Returns the parameters.
264 *
265 * @return array The parameters
266 */
267 public function getParameters()
268 {
269 return $this->parameters;
270 }
271
272 /**
273 * Sets the parameters.
274 *
275 * @param array $parameters The parameters
276 *
277 * @return RequestContext The current instance, implementing a fluent interface
278 */
279 public function setParameters(array $parameters)
280 {
281 $this->parameters = $parameters;
282
283 return $this;
284 }
285
286 /**
287 * Gets a parameter value.
288 *
289 * @param string $name A parameter name
290 *
291 * @return mixed The parameter value or null if nonexistent
292 */
293 public function getParameter($name)
294 {
295 return isset($this->parameters[$name]) ? $this->parameters[$name] : null;
296 }
297
298 /**
299 * Checks if a parameter value is set for the given parameter.
300 *
301 * @param string $name A parameter name
302 *
303 * @return bool True if the parameter value is set, false otherwise
304 */
305 public function hasParameter($name)
306 {
307 return array_key_exists($name, $this->parameters);
308 }
309
310 /**
311 * Sets a parameter value.
312 *
313 * @param string $name A parameter name
314 * @param mixed $parameter The parameter value
315 *
316 * @api
317 */
318 public function setParameter($name, $parameter)
319 {
320 $this->parameters[$name] = $parameter;
321 }
322 }
323