class Request
Request represents an HTTP request.
The methods dealing with URL accept / return a raw path (% encoded):
* getBasePath
* getBaseUrl
* getPathInfo
* getRequestUri
* getUri
* getUriForPath
Properties
| ParameterBag | $attributes | |
| ParameterBag | $request | |
| ParameterBag | $query | |
| ServerBag | $server | |
| FileBag | $files | |
| ParameterBag | $cookies | |
| HeaderBag | $headers |
Methods
|
__construct(array $query = array(), array $request = array(), array $attributes = array(), array $cookies = array(), array $files = array(), array $server = array(), string $content = null)
Constructor. |
||
|
initialize(array $query = array(), array $request = array(), array $attributes = array(), array $cookies = array(), array $files = array(), array $server = array(), string $content = null)
Sets the parameters for this request. |
||
| static Request |
createFromGlobals()
Creates a new request with values from PHP's super globals. |
|
| static Request |
create(string $uri, string $method = 'GET', array $parameters = array(), array $cookies = array(), array $files = array(), array $server = array(), string $content = null)
Creates a Request based on a given URI and configuration. |
|
| Request |
duplicate(array $query = null, array $request = null, array $attributes = null, array $cookies = null, array $files = null, array $server = null)
Clones a request and overrides some of its parameters. |
|
|
__clone()
Clones the current request. |
||
| string |
__toString()
Returns the request as a string. |
|
|
overrideGlobals()
Overrides the PHP global variables according to this request instance. |
||
| static |
trustProxyData()
Trusts $_SERVER entries coming from proxies. |
|
| static boolean |
isProxyTrusted()
Returns true if $_SERVER entries coming from proxies are trusted, false otherwise. |
|
| static string |
normalizeQueryString(string $qs)
Normalizes a query string. |
|
| mixed |
get(string $key, mixed $default = null, Boolean $deep = false)
Gets a "parameter" value. |
|
| SessionInterface|null |
getSession()
Gets the Session. |
|
| boolean |
hasPreviousSession()
Whether the request contains a Session which was started in one of the previous requests. |
|
| boolean |
hasSession()
Whether the request contains a Session object. |
|
|
setSession(SessionInterface $session)
Sets the Session. |
||
| string |
getClientIp()
Returns the client IP address. |
|
| string |
getScriptName()
Returns current script name. |
|
| string |
getPathInfo()
Returns the path being requested relative to the executed script. |
|
| string |
getBasePath()
Returns the root path from which this request is executed. |
|
| string |
getBaseUrl()
Returns the root url from which this request is executed. |
|
| string |
getScheme()
Gets the request's scheme. |
|
| string |
getPort()
Returns the port on which the request is made. |
|
| string|null |
getUser()
Returns the user. |
|
| string|null |
getPassword()
Returns the password. |
|
| string |
getUserInfo()
Gets the user info. |
|
| string |
getHttpHost()
Returns the HTTP host being requested. |
|
| string |
getRequestUri()
Returns the requested URI. |
|
| string |
getSchemeAndHttpHost()
Gets the scheme and HTTP host. |
|
| string |
getUri()
Generates a normalized URI for the Request. |
|
| string |
getUriForPath(string $path)
Generates a normalized URI for the given path. |
|
| string|null |
getQueryString()
Generates the normalized query string for the Request. |
|
| Boolean |
isSecure()
Checks whether the request is secure or not. |
|
| string |
getHost()
Returns the host name. |
|
|
setMethod(string $method)
Sets the request method. |
||
| string |
getMethod()
Gets the request method. |
|
| string |
getMimeType(string $format)
Gets the mime type associated with the format. |
|
| string|null |
getFormat(string $mimeType)
Gets the format associated with the mime type. |
|
|
setFormat(string $format, string|array $mimeTypes)
Associates a format with mime types. |
||
| string |
getRequestFormat(string $default = 'html')
Gets the request format. |
|
|
setRequestFormat(string $format)
Sets the request format. |
||
| string|null |
getContentType()
Gets the format associated with the request. |
|
|
setDefaultLocale(string $locale)
Sets the default locale. |
||
|
setLocale(string $locale)
Sets the locale. |
||
| string |
getLocale()
Get the locale. |
|
| Boolean |
isMethod(string $method)
Checks if the request method is of specified type. |
|
| Boolean |
isMethodSafe()
Checks whether the method is safe or not. |
|
| string|resource |
getContent(Boolean $asResource = false)
Returns the request body content. |
|
| array |
getETags()
Gets the Etags. |
|
| Boolean | isNoCache() | |
| string|null |
getPreferredLanguage(array $locales = null)
Returns the preferred language. |
|
| array |
getLanguages()
Gets a list of languages acceptable by the client browser. |
|
| array |
getCharsets()
Gets a list of charsets acceptable by the client browser. |
|
| array |
getAcceptableContentTypes()
Gets a list of content types acceptable by the client browser |
|
| Boolean |
isXmlHttpRequest()
Returns true if the request is a XMLHttpRequest. |
|
| array |
splitHttpAcceptHeader(string $header)
Splits an Accept-* HTTP header. |
Details
at line 167
public
__construct(array $query = array(), array $request = array(), array $attributes = array(), array $cookies = array(), array $files = array(), array $server = array(), string $content = null)
Constructor.
at line 187
public
initialize(array $query = array(), array $request = array(), array $attributes = array(), array $cookies = array(), array $files = array(), array $server = array(), string $content = null)
Sets the parameters for this request.
This method also re-initializes all properties.
at line 216
static public Request
createFromGlobals()
Creates a new request with values from PHP's super globals.
at line 245
static public Request
create(string $uri, string $method = 'GET', array $parameters = array(), array $cookies = array(), array $files = array(), array $server = array(), string $content = null)
Creates a Request based on a given URI and configuration.
at line 339
public Request
duplicate(array $query = null, array $request = null, array $attributes = null, array $cookies = null, array $files = null, array $server = null)
Clones a request and overrides some of its parameters.
at line 380
public
__clone()
Clones the current request.
Note that the session is not cloned as duplicated requests
are most of the time sub-requests of the main one.
at line 396
public string
__toString()
Returns the request as a string.
at line 412
public
overrideGlobals()
Overrides the PHP global variables according to this request instance.
It overrides $_GET, $_POST, $_REQUEST, $_SERVER, $_COOKIE.
$_FILES is never override, see rfc1867
at line 447
static public
trustProxyData()
Trusts $_SERVER entries coming from proxies.
You should only call this method if your application
is hosted behind a reverse proxy that you manage.
at line 458
static public boolean
isProxyTrusted()
Returns true if $_SERVER entries coming from proxies are trusted, false otherwise.
at line 473
static public string
normalizeQueryString(string $qs)
Normalizes a query string.
It builds a normalized query string, where keys/value pairs are alphabetized,
have consistent escaping and unneeded delimiters are removed.
at line 527
public mixed
get(string $key, mixed $default = null, Boolean $deep = false)
Gets a "parameter" value.
This method is mainly useful for libraries that want to provide some flexibility.
Order of precedence: GET, PATH, POST, COOKIE
Avoid using this method in controllers:
* slow
* prefer to get from a "named" source
It is better to explicitly get request parameters from the appropriate
public property instead (query, request, attributes, ...).
at line 539
public SessionInterface|null
getSession()
Gets the Session.
at line 552
public boolean
hasPreviousSession()
Whether the request contains a Session which was started in one of the previous requests.
at line 565
public boolean
hasSession()
Whether the request contains a Session object.
at line 577
public
setSession(SessionInterface $session)
Sets the Session.
at line 589
public string
getClientIp()
Returns the client IP address.
at line 619
public string
getScriptName()
Returns current script name.
at line 640
public string
getPathInfo()
Returns the path being requested relative to the executed script.
The path info always starts with a /.
Suppose this request is instantiated from /mysite on localhost:
* http://localhost/mysite returns an empty string
* http://localhost/mysite/about returns '/about'
* htpp://localhost/mysite/enco%20ded returns '/enco%20ded'
* http://localhost/mysite/about?var=1 returns '/about'
at line 663
public string
getBasePath()
Returns the root path from which this request is executed.
Suppose that an index.php file instantiates this request object:
* http://localhost/index.php returns an empty string
* http://localhost/index.php/page returns an empty string
* http://localhost/web/index.php returns '/web'
* http://localhost/we%20b/index.php returns '/we%20b'
at line 684
public string
getBaseUrl()
Returns the root url from which this request is executed.
The base URL never ends with a /.
This is similar to getBasePath(), except that it also includes the
script filename (e.g. index.php) if one exists.
at line 700
public string
getScheme()
Gets the request's scheme.
at line 712
public string
getPort()
Returns the port on which the request is made.
at line 726
public string|null
getUser()
Returns the user.
at line 736
public string|null
getPassword()
Returns the password.
at line 746
public string
getUserInfo()
Gets the user info.
at line 767
public string
getHttpHost()
Returns the HTTP host being requested.
The port name will be appended to the host if it's non-standard.
at line 786
public string
getRequestUri()
Returns the requested URI.
at line 800
public string
getSchemeAndHttpHost()
Gets the scheme and HTTP host.
at line 814
public string
getUri()
Generates a normalized URI for the Request.
at line 833
public string
getUriForPath(string $path)
Generates a normalized URI for the given path.
at line 848
public string|null
getQueryString()
Generates the normalized query string for the Request.
It builds a normalized query string, where keys/value pairs are alphabetized
and have consistent escaping.
at line 862
public Boolean
isSecure()
Checks whether the request is secure or not.
at line 880
public string
getHost()
Returns the host name.
at line 908
public
setMethod(string $method)
Sets the request method.
at line 923
public string
getMethod()
Gets the request method.
The method is always an uppercased string.
at line 944
public string
getMimeType(string $format)
Gets the mime type associated with the format.
at line 962
public string|null
getFormat(string $mimeType)
Gets the format associated with the mime type.
at line 989
public
setFormat(string $format, string|array $mimeTypes)
Associates a format with mime types.
at line 1013
public string
getRequestFormat(string $default = 'html')
Gets the request format.
Here is the process to determine the format:
* format defined by the user (with setRequestFormat())
* _format request parameter
* $default
at line 1029
public
setRequestFormat(string $format)
Sets the request format.
at line 1041
public string|null
getContentType()
Gets the format associated with the request.
at line 1053
public
setDefaultLocale(string $locale)
Sets the default locale.
at line 1065
public
setLocale(string $locale)
Sets the locale.
at line 1075
public string
getLocale()
Get the locale.
at line 1087
public Boolean
isMethod(string $method)
Checks if the request method is of specified type.
at line 1099
public Boolean
isMethodSafe()
Checks whether the method is safe or not.
at line 1111
public string|resource
getContent(Boolean $asResource = false)
Returns the request body content.
at line 1135
public array
getETags()
Gets the Etags.
at line 1143
public Boolean
isNoCache()
at line 1157
public string|null
getPreferredLanguage(array $locales = null)
Returns the preferred language.
at line 1181
public array
getLanguages()
Gets a list of languages acceptable by the client browser.
at line 1223
public array
getCharsets()
Gets a list of charsets acceptable by the client browser.
at line 1239
public array
getAcceptableContentTypes()
Gets a list of content types acceptable by the client browser
at line 1258
public Boolean
isXmlHttpRequest()
Returns true if the request is a XMLHttpRequest.
It works if your JavaScript library set an X-Requested-With HTTP header.
It is known to work with Prototype, Mootools, jQuery.
at line 1270
public array
splitHttpAcceptHeader(string $header)
Splits an Accept-* HTTP header.