public function Request::overrideGlobals in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/symfony/http-foundation/Request.php \Symfony\Component\HttpFoundation\Request::overrideGlobals()
Overrides the PHP global variables according to this request instance.
It overrides $_GET, $_POST, $_REQUEST, $_SERVER, $_COOKIE. $_FILES is never overridden, see rfc1867
File
- vendor/
symfony/ http-foundation/ Request.php, line 512
Class
- Request
- Request represents an HTTP request.
Namespace
Symfony\Component\HttpFoundationCode
public function overrideGlobals() {
$this->server
->set('QUERY_STRING', static::normalizeQueryString(http_build_query($this->query
->all(), null, '&')));
$_GET = $this->query
->all();
$_POST = $this->request
->all();
$_SERVER = $this->server
->all();
$_COOKIE = $this->cookies
->all();
foreach ($this->headers
->all() as $key => $value) {
$key = strtoupper(str_replace('-', '_', $key));
if (in_array($key, array(
'CONTENT_TYPE',
'CONTENT_LENGTH',
))) {
$_SERVER[$key] = implode(', ', $value);
}
else {
$_SERVER['HTTP_' . $key] = implode(', ', $value);
}
}
$request = array(
'g' => $_GET,
'p' => $_POST,
'c' => $_COOKIE,
);
$requestOrder = ini_get('request_order') ?: ini_get('variables_order');
$requestOrder = preg_replace('#[^cgp]#', '', strtolower($requestOrder)) ?: 'gp';
$_REQUEST = array();
foreach (str_split($requestOrder) as $order) {
$_REQUEST = array_merge($_REQUEST, $request[$order]);
}
}