Class yii\web\Request

Inheritanceyii\web\Request » yii\base\Request » yii\base\Component » yii\base\Object
Implementsyii\base\Configurable
Available since version2.0
Source Code https://github.com/yiisoft/yii2/blob/master/framework/web/Request.php

The web Request class represents an HTTP request

It encapsulates the $_SERVER variable and resolves its inconsistency among different Web servers. Also it provides an interface to retrieve request parameters from $_POST, $_GET, $_COOKIES and REST parameters sent via other HTTP methods like PUT or DELETE.

Request is configured as an application component in yii\web\Application by default. You can access that instance via Yii::$app->request.

Public Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
$absoluteUrl string The currently requested absolute URL. yii\web\Request
$acceptableContentTypes array The content types ordered by the quality score. yii\web\Request
$acceptableLanguages array The languages ordered by the preference level. yii\web\Request
$authPassword string The password sent via HTTP authentication, null if the password is not given yii\web\Request
$authUser string The username sent via HTTP authentication, null if the username is not given yii\web\Request
$baseUrl string The relative URL for the application yii\web\Request
$behaviors yii\base\Behavior[] List of behaviors attached to this component yii\base\Component
$bodyParams array The request parameters given in the request body. yii\web\Request
$contentType string Request content-type. yii\web\Request
$cookieValidationKey string A secret key used for cookie validation. yii\web\Request
$cookies yii\web\CookieCollection The cookie collection. yii\web\Request
$csrfCookie array The configuration for creating the CSRF cookie. yii\web\Request
$csrfParam string The name of the token used to prevent CSRF. yii\web\Request
$csrfToken string The token used to perform CSRF validation. yii\web\Request
$csrfTokenFromHeader string The CSRF token sent via CSRF_HEADER by browser. yii\web\Request
$eTags array The entity tags yii\web\Request
$enableCookieValidation boolean Whether cookies should be validated to ensure they are not tampered. yii\web\Request
$enableCsrfCookie boolean Whether to use cookie to persist CSRF token. yii\web\Request
$enableCsrfValidation boolean Whether to enable CSRF (Cross-Site Request Forgery) validation. yii\web\Request
$headers yii\web\HeaderCollection The header collection yii\web\Request
$hostInfo string Schema and hostname part (with port number if needed) of the request URL (e.g. `http://www. yii\web\Request
$isAjax boolean Whether this is an AJAX (XMLHttpRequest) request. yii\web\Request
$isConsoleRequest boolean The value indicating whether the current request is made via console yii\base\Request
$isDelete boolean Whether this is a DELETE request. yii\web\Request
$isFlash boolean Whether this is an Adobe Flash or Adobe Flex request. yii\web\Request
$isGet boolean Whether this is a GET request. yii\web\Request
$isHead boolean Whether this is a HEAD request. yii\web\Request
$isOptions boolean Whether this is a OPTIONS request. yii\web\Request
$isPatch boolean Whether this is a PATCH request. yii\web\Request
$isPjax boolean Whether this is a PJAX request yii\web\Request
$isPost boolean Whether this is a POST request. yii\web\Request
$isPut boolean Whether this is a PUT request. yii\web\Request
$isSecureConnection boolean If the request is sent via secure channel (https) yii\web\Request
$method string Request method, such as GET, POST, HEAD, PUT, PATCH, DELETE. yii\web\Request
$methodParam string The name of the POST parameter that is used to indicate if a request is a PUT, PATCH or DELETE request tunneled through POST. yii\web\Request
$parsers array The parsers for converting the raw HTTP request body into $bodyParams. yii\web\Request
$pathInfo string Part of the request URL that is after the entry script and before the question mark. yii\web\Request
$port integer Port number for insecure requests. yii\web\Request
$preferredLanguage string The language that the application should use. yii\web\Request
$queryParams array The request GET parameter values. yii\web\Request
$queryString string Part of the request URL that is after the question mark yii\web\Request
$rawBody string The request body yii\web\Request
$referrer string URL referrer, null if not present yii\web\Request
$scriptFile string The entry script file path yii\web\Request
$scriptUrl string The relative URL of the entry script. yii\web\Request
$securePort integer Port number for secure requests. yii\web\Request
$serverName string Server name yii\web\Request
$serverPort integer Server port number yii\web\Request
$url string The currently requested relative URL. yii\web\Request
$userAgent string User agent, null if not present yii\web\Request
$userHost string User host name, null if cannot be determined yii\web\Request
$userIP string User IP address. yii\web\Request

Public Methods

Hide inherited methods

MethodDescriptionDefined By
__call() Calls the named method which is not a class method. yii\base\Object
__clone() This method is called after the object is created by cloning an existing one. yii\base\Component
__construct() Constructor. yii\base\Object
__get() Returns the value of an object property. yii\base\Object
__isset() Checks if a property is set, i.e. defined and not null. yii\base\Object
__set() Sets value of an object property. yii\base\Object
__unset() Sets an object property to null. yii\base\Object
attachBehavior() Attaches a behavior to this component. yii\base\Component
attachBehaviors() Attaches a list of behaviors to the component. yii\base\Component
behaviors() Returns a list of behaviors that this component should behave as. yii\base\Component
canGetProperty() Returns a value indicating whether a property can be read. yii\base\Object
canSetProperty() Returns a value indicating whether a property can be set. yii\base\Object
className() Returns the fully qualified name of this class. yii\base\Object
detachBehavior() Detaches a behavior from the component. yii\base\Component
detachBehaviors() Detaches all behaviors from the component. yii\base\Component
ensureBehaviors() Makes sure that the behaviors declared in behaviors() are attached to this component. yii\base\Component
get() Returns GET parameter with a given name. If name isn't specified, returns an array of all GET parameters. yii\web\Request
getAbsoluteUrl() Returns the currently requested absolute URL. yii\web\Request
getAcceptableContentTypes() Returns the content types acceptable by the end user. yii\web\Request
getAcceptableLanguages() Returns the languages acceptable by the end user. yii\web\Request
getAuthPassword() yii\web\Request
getAuthUser() yii\web\Request
getBaseUrl() Returns the relative URL for the application. yii\web\Request
getBehavior() Returns the named behavior object. yii\base\Component
getBehaviors() Returns all behaviors attached to this component. yii\base\Component
getBodyParam() Returns the named request body parameter value. yii\web\Request
getBodyParams() Returns the request parameters given in the request body. yii\web\Request
getContentType() Returns request content-type The Content-Type header field indicates the MIME type of the data contained in getRawBody() or, in the case of the HEAD method, the media type that would have been sent had the request been a GET. yii\web\Request
getCookies() Returns the cookie collection. yii\web\Request
getCsrfToken() Returns the token used to perform CSRF validation. yii\web\Request
getCsrfTokenFromHeader() yii\web\Request
getETags() Gets the Etags. yii\web\Request
getHeaders() Returns the header collection. yii\web\Request
getHostInfo() Returns the schema and host part of the current request URL. yii\web\Request
getIsAjax() Returns whether this is an AJAX (XMLHttpRequest) request. yii\web\Request
getIsConsoleRequest() Returns a value indicating whether the current request is made via command line yii\base\Request
getIsDelete() Returns whether this is a DELETE request. yii\web\Request
getIsFlash() Returns whether this is an Adobe Flash or Flex request. yii\web\Request
getIsGet() Returns whether this is a GET request. yii\web\Request
getIsHead() Returns whether this is a HEAD request. yii\web\Request
getIsOptions() Returns whether this is an OPTIONS request. yii\web\Request
getIsPatch() Returns whether this is a PATCH request. yii\web\Request
getIsPjax() Returns whether this is a PJAX request yii\web\Request
getIsPost() Returns whether this is a POST request. yii\web\Request
getIsPut() Returns whether this is a PUT request. yii\web\Request
getIsSecureConnection() Return if the request is sent via secure channel (https). yii\web\Request
getMethod() Returns the method of the current request (e.g. GET, POST, HEAD, PUT, PATCH, DELETE). yii\web\Request
getPathInfo() Returns the path info of the currently requested URL. yii\web\Request
getPort() Returns the port to use for insecure requests. yii\web\Request
getPreferredLanguage() Returns the user-preferred language that should be used by this application. yii\web\Request
getQueryParam() Returns the named GET parameter value. yii\web\Request
getQueryParams() Returns the request parameters given in the $queryString. yii\web\Request
getQueryString() Returns part of the request URL that is after the question mark. yii\web\Request
getRawBody() Returns the raw HTTP request body. yii\web\Request
getReferrer() Returns the URL referrer, null if not present yii\web\Request
getScriptFile() Returns the entry script file path. yii\web\Request
getScriptUrl() Returns the relative URL of the entry script. yii\web\Request
getSecurePort() Returns the port to use for secure requests. yii\web\Request
getServerName() Returns the server name. yii\web\Request
getServerPort() Returns the server port number. yii\web\Request
getUrl() Returns the currently requested relative URL. yii\web\Request
getUserAgent() Returns the user agent, null if not present. yii\web\Request
getUserHost() Returns the user host name, null if it cannot be determined. yii\web\Request
getUserIP() Returns the user IP address. yii\web\Request
hasEventHandlers() Returns a value indicating whether there is any handler attached to the named event. yii\base\Component
hasMethod() Returns a value indicating whether a method is defined. yii\base\Object
hasProperty() Returns a value indicating whether a property is defined. yii\base\Object
init() Initializes the object. yii\base\Object
off() Detaches an existing event handler from this component. yii\base\Component
on() Attaches an event handler to an event. yii\base\Component
parseAcceptHeader() Parses the given Accept (or Accept-Language) header. yii\web\Request
post() Returns POST parameter with a given name. If name isn't specified, returns an array of all POST parameters. yii\web\Request
resolve() Resolves the current request into a route and the associated parameters. yii\web\Request
setAcceptableContentTypes() Sets the acceptable content types. yii\web\Request
setAcceptableLanguages() yii\web\Request
setBaseUrl() Sets the relative URL for the application. yii\web\Request
setBodyParams() Sets the request body parameters. yii\web\Request
setHostInfo() Sets the schema and host part of the application URL. yii\web\Request
setIsConsoleRequest() Sets the value indicating whether the current request is made via command line yii\base\Request
setPathInfo() Sets the path info of the current request. yii\web\Request
setPort() Sets the port to use for insecure requests. yii\web\Request
setQueryParams() Sets the request $queryString parameters. yii\web\Request
setRawBody() Sets the raw HTTP request body, this method is mainly used by test scripts to simulate raw HTTP requests. yii\web\Request
setScriptFile() Sets the entry script file path. yii\web\Request
setScriptUrl() Sets the relative URL for the application entry script. yii\web\Request
setSecurePort() Sets the port to use for secure requests. yii\web\Request
setUrl() Sets the currently requested relative URL. yii\web\Request
trigger() Triggers an event. yii\base\Component
validateCsrfToken() Performs the CSRF validation. yii\web\Request

Protected Methods

Hide inherited methods

MethodDescriptionDefined By
createCsrfCookie() Creates a cookie with a randomly generated CSRF token. yii\web\Request
generateCsrfToken() Generates an unmasked random token used to perform CSRF validation. yii\web\Request
loadCookies() Converts $_COOKIE into an array of yii\web\Cookie. yii\web\Request
loadCsrfToken() Loads the CSRF token from cookie or session. yii\web\Request
resolvePathInfo() Resolves the path info part of the currently requested URL. yii\web\Request
resolveRequestUri() Resolves the request URI portion for the currently requested URL. yii\web\Request

Constants

Hide inherited constants

ConstantValueDescriptionDefined By
CSRF_HEADER 'X-CSRF-Token' The name of the HTTP header for sending CSRF token. yii\web\Request
CSRF_MASK_LENGTH 8 The length of the CSRF token mask. yii\web\Request

Property Details

$absoluteUrl public read-only property

The currently requested absolute URL.

$acceptableContentTypes public property

The content types ordered by the quality score. Types with the highest scores will be returned first. The array keys are the content types, while the array values are the corresponding quality score and other parameters as given in the header.

$acceptableLanguages public property

The languages ordered by the preference level. The first element represents the most preferred language.

$authPassword public read-only property

The password sent via HTTP authentication, null if the password is not given

$authUser public read-only property

The username sent via HTTP authentication, null if the username is not given

$baseUrl public property
string getBaseUrl( )
void setBaseUrl$value )

The relative URL for the application

$bodyParams public property
array getBodyParams( )
void setBodyParams$values )

The request parameters given in the request body.

$contentType public read-only property

Request content-type. Null is returned if this information is not available.

$cookieValidationKey public property

A secret key used for cookie validation. This property must be set if $enableCookieValidation is true.

$cookies public read-only property

The cookie collection.

$csrfCookie public property
array $csrfCookie = ['httpOnly' => true]

The configuration for creating the CSRF cookie. This property is used only when both $enableCsrfValidation and $enableCsrfCookie are true.

$csrfParam public property
string $csrfParam '_csrf'

The name of the token used to prevent CSRF. Defaults to '_csrf'. This property is used only when $enableCsrfValidation is true.

$csrfToken public read-only property
string getCsrfToken$regenerate false )

The token used to perform CSRF validation.

$csrfTokenFromHeader public read-only property

The CSRF token sent via CSRF_HEADER by browser. Null is returned if no such header is sent.

$eTags public read-only property

The entity tags

$enableCookieValidation public property

Whether cookies should be validated to ensure they are not tampered. Defaults to true.

$enableCsrfCookie public property

Whether to use cookie to persist CSRF token. If false, CSRF token will be stored in session under the name of $csrfParam. Note that while storing CSRF tokens in session increases security, it requires starting a session for every page, which will degrade your site performance.

$enableCsrfValidation public property

Whether to enable CSRF (Cross-Site Request Forgery) validation. Defaults to true. When CSRF validation is enabled, forms submitted to an Yii Web application must be originated from the same application. If not, a 400 HTTP exception will be raised.

Note, this feature requires that the user client accepts cookie. Also, to use this feature, forms submitted via POST method must contain a hidden input whose name is specified by $csrfParam. You may use yii\helpers\Html::beginForm() to generate his hidden input.

In JavaScript, you may get the values of $csrfParam and $csrfToken via yii.getCsrfParam() and yii.getCsrfToken(), respectively. The yii\web\YiiAsset asset must be registered. You also need to include CSRF meta tags in your pages by using yii\helpers\Html::csrfMetaTags().

See also:

$headers public read-only property

The header collection

$hostInfo public property
string getHostInfo( )
void setHostInfo$value )

Schema and hostname part (with port number if needed) of the request URL (e.g. http://www.yiiframework.com)

$isAjax public read-only property

Whether this is an AJAX (XMLHttpRequest) request.

$isDelete public read-only property

Whether this is a DELETE request.

$isFlash public read-only property

Whether this is an Adobe Flash or Adobe Flex request.

$isGet public read-only property

Whether this is a GET request.

$isHead public read-only property

Whether this is a HEAD request.

$isOptions public read-only property

Whether this is a OPTIONS request.

$isPatch public read-only property

Whether this is a PATCH request.

$isPjax public read-only property

Whether this is a PJAX request

$isPost public read-only property

Whether this is a POST request.

$isPut public read-only property

Whether this is a PUT request.

$isSecureConnection public read-only property

If the request is sent via secure channel (https)

$method public read-only property

Request method, such as GET, POST, HEAD, PUT, PATCH, DELETE. The value returned is turned into upper case.

$methodParam public property
string $methodParam '_method'

The name of the POST parameter that is used to indicate if a request is a PUT, PATCH or DELETE request tunneled through POST. Defaults to '_method'.

See also:

$parsers public property

The parsers for converting the raw HTTP request body into $bodyParams. The array keys are the request Content-Types, and the array values are the corresponding configurations for creating the parser objects. A parser must implement the yii\web\RequestParserInterface.

To enable parsing for JSON requests you can use the yii\web\JsonParser class like in the following example:

[
    'application/json' => 'yii\web\JsonParser',
]

To register a parser for parsing all request types you can use '*' as the array key. This one will be used as a fallback in case no other types match.

See also getBodyParams().

$pathInfo public property
string getPathInfo( )
void setPathInfo$value )

Part of the request URL that is after the entry script and before the question mark. Note, the returned path info is already URL-decoded.

$port public property
integer getPort( )
void setPort$value )

Port number for insecure requests.

$preferredLanguage public read-only property
string getPreferredLanguage( array $languages = [] )

The language that the application should use.

$queryParams public property
array getQueryParams( )
void setQueryParams$values )

The request GET parameter values.

$queryString public read-only property

Part of the request URL that is after the question mark

$rawBody public property
string getRawBody( )
void setRawBody$rawBody )

The request body

$referrer public read-only property

URL referrer, null if not present

$scriptFile public property
string getScriptFile( )
void setScriptFile$value )

The entry script file path

$scriptUrl public property
string getScriptUrl( )
void setScriptUrl$value )

The relative URL of the entry script.

$securePort public property
integer getSecurePort( )
void setSecurePort$value )

Port number for secure requests.

$serverName public read-only property

Server name

$serverPort public read-only property

Server port number

$url public property
string getUrl( )
void setUrl$value )

The currently requested relative URL. Note that the URI returned is URL-encoded.

$userAgent public read-only property

User agent, null if not present

$userHost public read-only property

User host name, null if cannot be determined

$userIP public read-only property

User IP address. Null is returned if the user IP address cannot be detected.

Method Details

createCsrfCookie() protected method

Creates a cookie with a randomly generated CSRF token.

Initial values specified in $csrfCookie will be applied to the generated cookie.

See also $enableCsrfValidation.

yii\web\Cookie createCsrfCookie$token )
$token string

The CSRF token

return yii\web\Cookie

The generated cookie

generateCsrfToken() protected method

Generates an unmasked random token used to perform CSRF validation.

string generateCsrfToken( )
return string

The random token for CSRF validation.

get() public method

Returns GET parameter with a given name. If name isn't specified, returns an array of all GET parameters.

array|mixed get$name null$defaultValue null )
$name string

The parameter name

$defaultValue mixed

The default parameter value if the parameter does not exist.

getAbsoluteUrl() public method

Returns the currently requested absolute URL.

This is a shortcut to the concatenation of $hostInfo and $url.

string getAbsoluteUrl( )
return string

The currently requested absolute URL.

getAcceptableContentTypes() public method

Returns the content types acceptable by the end user.

This is determined by the Accept HTTP header. For example,

$_SERVER['HTTP_ACCEPT'] = 'text/plain; q=0.5, application/json; version=1.0, application/xml; version=2.0;';
$types $request->getAcceptableContentTypes();
print_r($types);
// displays:
// [
//     'application/json' => ['q' => 1, 'version' => '1.0'],
//      'application/xml' => ['q' => 1, 'version' => '2.0'],
//           'text/plain' => ['q' => 0.5],
// ]
array getAcceptableContentTypes( )
return array

The content types ordered by the quality score. Types with the highest scores will be returned first. The array keys are the content types, while the array values are the corresponding quality score and other parameters as given in the header.

getAcceptableLanguages() public method

Returns the languages acceptable by the end user.

This is determined by the Accept-Language HTTP header.

array getAcceptableLanguages( )
return array

The languages ordered by the preference level. The first element represents the most preferred language.

getAuthPassword() public method

string getAuthPassword( )
return string

The password sent via HTTP authentication, null if the password is not given

getAuthUser() public method

string getAuthUser( )
return string

The username sent via HTTP authentication, null if the username is not given

getBaseUrl() public method

Returns the relative URL for the application.

This is similar to $scriptUrl except that it does not include the script file name, and the ending slashes are removed.

See also setScriptUrl().

string getBaseUrl( )
return string

The relative URL for the application

getBodyParam() public method

Returns the named request body parameter value.

If the parameter does not exist, the second parameter passed to this method will be returned.

See also:

mixed getBodyParam$name$defaultValue null )
$name string

The parameter name

$defaultValue mixed

The default parameter value if the parameter does not exist.

return mixed

The parameter value

getBodyParams() public method

Returns the request parameters given in the request body.

Request parameters are determined using the parsers configured in $parsers property. If no parsers are configured for the current $contentType it uses the PHP function mb_parse_str() to parse the request body.

See also:

array getBodyParams( )
return array

The request parameters given in the request body.

throws yii\base\InvalidConfigException

if a registered parser does not implement the yii\web\RequestParserInterface.

getContentType() public method

Returns request content-type The Content-Type header field indicates the MIME type of the data contained in getRawBody() or, in the case of the HEAD method, the media type that would have been sent had the request been a GET.

For the MIME-types the user expects in response, see $acceptableContentTypes.

string getContentType( )
return string

Request content-type. Null is returned if this information is not available.

getCookies() public method

Returns the cookie collection.

Through the returned cookie collection, you may access a cookie using the following syntax:

$cookie = $request->cookies['name']
if ($cookie !== null) {
    $value = $cookie->value;
}

// alternatively
$value = $request->cookies->getValue('name');
yii\web\CookieCollection getCookies( )
return yii\web\CookieCollection

The cookie collection.

getCsrfToken() public method

Returns the token used to perform CSRF validation.

This token is a masked version of \yii\web\rawCsrfToken to prevent BREACH attacks. This token may be passed along via a hidden field of an HTML form or an HTTP header value to support CSRF validation.

string getCsrfToken$regenerate false )
$regenerate boolean

Whether to regenerate CSRF token. When this parameter is true, each time this method is called, a new CSRF token will be generated and persisted (in session or cookie).

return string

The token used to perform CSRF validation.

getCsrfTokenFromHeader() public method

string getCsrfTokenFromHeader( )
return string

The CSRF token sent via CSRF_HEADER by browser. Null is returned if no such header is sent.

getETags() public method

Gets the Etags.

array getETags( )
return array

The entity tags

getHeaders() public method

Returns the header collection.

The header collection contains incoming HTTP headers.

yii\web\HeaderCollection getHeaders( )
return yii\web\HeaderCollection

The header collection

getHostInfo() public method

Returns the schema and host part of the current request URL.

The returned URL does not have an ending slash. By default this is determined based on the user request information. You may explicitly specify it by setting the hostInfo property.

See also setHostInfo().

string getHostInfo( )
return string

Schema and hostname part (with port number if needed) of the request URL (e.g. http://www.yiiframework.com)

getIsAjax() public method

Returns whether this is an AJAX (XMLHttpRequest) request.

boolean getIsAjax( )
return boolean

Whether this is an AJAX (XMLHttpRequest) request.

getIsDelete() public method

Returns whether this is a DELETE request.

boolean getIsDelete( )
return boolean

Whether this is a DELETE request.

getIsFlash() public method

Returns whether this is an Adobe Flash or Flex request.

boolean getIsFlash( )
return boolean

Whether this is an Adobe Flash or Adobe Flex request.

getIsGet() public method

Returns whether this is a GET request.

boolean getIsGet( )
return boolean

Whether this is a GET request.

getIsHead() public method

Returns whether this is a HEAD request.

boolean getIsHead( )
return boolean

Whether this is a HEAD request.

getIsOptions() public method

Returns whether this is an OPTIONS request.

boolean getIsOptions( )
return boolean

Whether this is a OPTIONS request.

getIsPatch() public method

Returns whether this is a PATCH request.

boolean getIsPatch( )
return boolean

Whether this is a PATCH request.

getIsPjax() public method

Returns whether this is a PJAX request

boolean getIsPjax( )
return boolean

Whether this is a PJAX request

getIsPost() public method

Returns whether this is a POST request.

boolean getIsPost( )
return boolean

Whether this is a POST request.

getIsPut() public method

Returns whether this is a PUT request.

boolean getIsPut( )
return boolean

Whether this is a PUT request.

getIsSecureConnection() public method

Return if the request is sent via secure channel (https).

boolean getIsSecureConnection( )
return boolean

If the request is sent via secure channel (https)

getMethod() public method

Returns the method of the current request (e.g. GET, POST, HEAD, PUT, PATCH, DELETE).

string getMethod( )
return string

Request method, such as GET, POST, HEAD, PUT, PATCH, DELETE. The value returned is turned into upper case.

getPathInfo() public method

Returns the path info of the currently requested URL.

A path info refers to the part that is after the entry script and before the question mark (query string). The starting and ending slashes are both removed.

string getPathInfo( )
return string

Part of the request URL that is after the entry script and before the question mark. Note, the returned path info is already URL-decoded.

throws yii\base\InvalidConfigException

if the path info cannot be determined due to unexpected server configuration

getPort() public method

Returns the port to use for insecure requests.

Defaults to 80, or the port specified by the server if the current request is insecure.

See also setPort().

integer getPort( )
return integer

Port number for insecure requests.

getPreferredLanguage() public method

Returns the user-preferred language that should be used by this application.

The language resolution is based on the user preferred languages and the languages supported by the application. The method will try to find the best match.

string getPreferredLanguage( array $languages = [] )
$languages array

A list of the languages supported by the application. If this is empty, the current application language will be returned without further processing.

return string

The language that the application should use.

getQueryParam() public method

Returns the named GET parameter value.

If the GET parameter does not exist, the second parameter passed to this method will be returned.

See also getBodyParam().

mixed getQueryParam$name$defaultValue null )
$name string

The GET parameter name.

$defaultValue mixed

The default parameter value if the GET parameter does not exist.

return mixed

The GET parameter value

getQueryParams() public method

Returns the request parameters given in the $queryString.

This method will return the contents of $_GET if params where not explicitly set.

See also setQueryParams().

array getQueryParams( )
return array

The request GET parameter values.

getQueryString() public method

Returns part of the request URL that is after the question mark.

string getQueryString( )
return string

Part of the request URL that is after the question mark

getRawBody() public method

Returns the raw HTTP request body.

string getRawBody( )
return string

The request body

getReferrer() public method

Returns the URL referrer, null if not present

string getReferrer( )
return string

URL referrer, null if not present

getScriptFile() public method

Returns the entry script file path.

The default implementation will simply return $_SERVER['SCRIPT_FILENAME'].

string getScriptFile( )
return string

The entry script file path

getScriptUrl() public method

Returns the relative URL of the entry script.

The implementation of this method referenced Zend_Controller_Request_Http in Zend Framework.

string getScriptUrl( )
return string

The relative URL of the entry script.

throws yii\base\InvalidConfigException

if unable to determine the entry script URL

getSecurePort() public method

Returns the port to use for secure requests.

Defaults to 443, or the port specified by the server if the current request is secure.

See also setSecurePort().

integer getSecurePort( )
return integer

Port number for secure requests.

getServerName() public method

Returns the server name.

string getServerName( )
return string

Server name

getServerPort() public method

Returns the server port number.

integer getServerPort( )
return integer

Server port number

getUrl() public method

Returns the currently requested relative URL.

This refers to the portion of the URL that is after the $hostInfo part. It includes the $queryString part if any.

string getUrl( )
return string

The currently requested relative URL. Note that the URI returned is URL-encoded.

throws yii\base\InvalidConfigException

if the URL cannot be determined due to unusual server configuration

getUserAgent() public method

Returns the user agent, null if not present.

string getUserAgent( )
return string

User agent, null if not present

getUserHost() public method

Returns the user host name, null if it cannot be determined.

string getUserHost( )
return string

User host name, null if cannot be determined

getUserIP() public method

Returns the user IP address.

string getUserIP( )
return string

User IP address. Null is returned if the user IP address cannot be detected.

loadCookies() protected method

Converts $_COOKIE into an array of yii\web\Cookie.

array loadCookies( )
return array

The cookies obtained from request

throws yii\base\InvalidConfigException

if $cookieValidationKey is not set when $enableCookieValidation is true

loadCsrfToken() protected method

Loads the CSRF token from cookie or session.

string loadCsrfToken( )
return string

The CSRF token loaded from cookie or session. Null is returned if the cookie or session does not have CSRF token.

parseAcceptHeader() public method

Parses the given Accept (or Accept-Language) header.

This method will return the acceptable values with their quality scores and the corresponding parameters as specified in the given Accept header. The array keys of the return value are the acceptable values, while the array values consisting of the corresponding quality scores and parameters. The acceptable values with the highest quality scores will be returned first. For example,

$header 'text/plain; q=0.5, application/json; version=1.0, application/xml; version=2.0;';
$accepts $request->parseAcceptHeader($header);
print_r($accepts);
// displays:
// [
//     'application/json' => ['q' => 1, 'version' => '1.0'],
//      'application/xml' => ['q' => 1, 'version' => '2.0'],
//           'text/plain' => ['q' => 0.5],
// ]
array parseAcceptHeader$header )
$header string

The header to be parsed

return array

The acceptable values ordered by their quality score. The values with the highest scores will be returned first.

post() public method

Returns POST parameter with a given name. If name isn't specified, returns an array of all POST parameters.

array|mixed post$name null$defaultValue null )
$name string

The parameter name

$defaultValue mixed

The default parameter value if the parameter does not exist.

resolve() public method

Resolves the current request into a route and the associated parameters.

array resolve( )
return array

The first element is the route, and the second is the associated parameters.

throws yii\web\NotFoundHttpException

if the request cannot be resolved.

resolvePathInfo() protected method

Resolves the path info part of the currently requested URL.

A path info refers to the part that is after the entry script and before the question mark (query string). The starting slashes are both removed (ending slashes will be kept).

string resolvePathInfo( )
return string

Part of the request URL that is after the entry script and before the question mark. Note, the returned path info is decoded.

throws yii\base\InvalidConfigException

if the path info cannot be determined due to unexpected server configuration

resolveRequestUri() protected method

Resolves the request URI portion for the currently requested URL.

This refers to the portion that is after the $hostInfo part. It includes the $queryString part if any. The implementation of this method referenced Zend_Controller_Request_Http in Zend Framework.

string|boolean resolveRequestUri( )
return string|boolean

The request URI portion for the currently requested URL. Note that the URI returned is URL-encoded.

throws yii\base\InvalidConfigException

if the request URI cannot be determined due to unusual server configuration

setAcceptableContentTypes() public method

Sets the acceptable content types.

Please refer to getAcceptableContentTypes() on the format of the parameter.

See also:

void setAcceptableContentTypes$value )
$value array

The content types that are acceptable by the end user. They should be ordered by the preference level.

setAcceptableLanguages() public method

void setAcceptableLanguages$value )
$value array

The languages that are acceptable by the end user. They should be ordered by the preference level.

setBaseUrl() public method

Sets the relative URL for the application.

By default the URL is determined based on the entry script URL. This setter is provided in case you want to change this behavior.

void setBaseUrl$value )
$value string

The relative URL for the application

setBodyParams() public method

Sets the request body parameters.

See also:

void setBodyParams$values )
$values array

The request body parameters (name-value pairs)

setHostInfo() public method

Sets the schema and host part of the application URL.

This setter is provided in case the schema and hostname cannot be determined on certain Web servers.

void setHostInfo$value )
$value string

The schema and host part of the application URL. The trailing slashes will be removed.

setPathInfo() public method

Sets the path info of the current request.

This method is mainly provided for testing purpose.

void setPathInfo$value )
$value string

The path info of the current request

setPort() public method

Sets the port to use for insecure requests.

This setter is provided in case a custom port is necessary for certain server configurations.

void setPort$value )
$value integer

Port number.

setQueryParams() public method

Sets the request $queryString parameters.

See also:

void setQueryParams$values )
$values array

The request query parameters (name-value pairs)

setRawBody() public method

Sets the raw HTTP request body, this method is mainly used by test scripts to simulate raw HTTP requests.

void setRawBody$rawBody )
$rawBody
setScriptFile() public method

Sets the entry script file path.

The entry script file path normally can be obtained from $_SERVER['SCRIPT_FILENAME']. If your server configuration does not return the correct value, you may configure this property to make it right.

void setScriptFile$value )
$value string

The entry script file path.

setScriptUrl() public method

Sets the relative URL for the application entry script.

This setter is provided in case the entry script URL cannot be determined on certain Web servers.

void setScriptUrl$value )
$value string

The relative URL for the application entry script.

setSecurePort() public method

Sets the port to use for secure requests.

This setter is provided in case a custom port is necessary for certain server configurations.

void setSecurePort$value )
$value integer

Port number.

setUrl() public method

Sets the currently requested relative URL.

The URI must refer to the portion that is after $hostInfo. Note that the URI should be URL-encoded.

void setUrl$value )
$value string

The request URI to be set

validateCsrfToken() public method

Performs the CSRF validation.

This method will validate the user-provided CSRF token by comparing it with the one stored in cookie or session. This method is mainly called in yii\web\Controller::beforeAction().

Note that the method will NOT perform CSRF validation if $enableCsrfValidation is false or the HTTP method is among GET, HEAD or OPTIONS.

boolean validateCsrfToken$token null )
$token string

The user-provided CSRF token to be validated. If null, the token will be retrieved from the $csrfParam POST field or HTTP header. This parameter is available since version 2.0.4.

return boolean

Whether CSRF token is valid. If $enableCsrfValidation is false, this method will return true.