interface request_interface

An interface through which all application input can be accessed.

Constants

POST

GET

REQUEST

COOKIE

SERVER

FILES

Methods

overwrite(string $var_name, mixed $value, string $super_global = \phpbb\request\request_interface::REQUEST)

This function allows overwriting or setting a value in one of the super global arrays.

mixed
variable(string|array $var_name, mixed $default, bool $multibyte = false, string $super_global = \phpbb\request\request_interface::REQUEST)

Central type safe input handling function.

mixed
raw_variable(string|array $var_name, mixed $default, string $super_global = \phpbb\request\request_interface::REQUEST)

Get a variable without trimming strings and without escaping.

mixed
server(string|array $var_name, mixed $default = '')

Shortcut method to retrieve SERVER variables.

mixed
header(string|array $header_name, mixed $default = '')

Shortcut method to retrieve the value of client HTTP headers.

bool
is_set_post(string $name)

Checks whether a certain variable was sent via POST.

bool
is_set(string $var, string $super_global = \phpbb\request\request_interface::REQUEST)

Checks whether a certain variable is set in one of the super global arrays.

bool
is_ajax()

Checks whether the current request is an AJAX request (XMLHttpRequest)

bool
is_secure()

Checks if the current request is happening over HTTPS.

array
variable_names(string $super_global = \phpbb\request\request_interface::REQUEST)

Returns all variable names for a given super global

array
get_super_global(string $super_global = \phpbb\request\request_interface::REQUEST)

Returns the original array of the requested super global

string|array
escape(mixed $value, bool $multibyte)

Escape a string variable.

Details

at line 45
overwrite(string $var_name, mixed $value, string $super_global = \phpbb\request\request_interface::REQUEST)

This function allows overwriting or setting a value in one of the super global arrays.

Changes which are performed on the super globals directly will not have any effect on the results of other methods this class provides. Using this function should be avoided if possible! It will consume twice the the amount of memory of the value

Parameters

string $var_name

The name of the variable that shall be overwritten

mixed $value

The value which the variable shall contain. If this is null the variable will be unset.

string $super_global

(\phpbb\request\request_interface::POST|GET|REQUEST|COOKIE) Specifies which super global shall be changed

at line 65
mixed variable(string|array $var_name, mixed $default, bool $multibyte = false, string $super_global = \phpbb\request\request_interface::REQUEST)

Central type safe input handling function.

All variables in GET or POST requests should be retrieved through this function to maximise security.

Parameters

string|array $var_name

The form variable's name from which data shall be retrieved. If the value is an array this may be an array of indizes which will give direct access to a value at any depth. E.g. if the value of "var" is array(1 => "a") then specifying array("var", 1) as the name will return "a".

mixed $default

A default value that is returned if the variable was not set. This function will always return a value of the same type as the default.

bool $multibyte

If $default is a string this parameter has to be true if the variable may contain any UTF-8 characters Default is false, causing all bytes outside the ASCII range (0-127) to be replaced with question marks

string $super_global

(\phpbb\request\request_interface::POST|GET|REQUEST|COOKIE) Specifies which super global shall be changed

Return Value

mixed

The value of $_REQUEST[$var_name] run through set_var set_var to ensure that the type is the the same as that of $default. If the variable is not set $default is returned.

at line 87
mixed raw_variable(string|array $var_name, mixed $default, string $super_global = \phpbb\request\request_interface::REQUEST)

Get a variable without trimming strings and without escaping.

This method MUST NOT be used with queries. Same functionality as variable(), except does not run trim() on strings and does not escape input. This method should only be used when the raw input is needed without any escaping, i.e. for database password during the installation.

Parameters

string|array $var_name

The form variable's name from which data shall be retrieved. If the value is an array this may be an array of indizes which will give direct access to a value at any depth. E.g. if the value of "var" is array(1 => "a") then specifying array("var", 1) as the name will return "a".

mixed $default

A default value that is returned if the variable was not set. This function will always return a value of the same type as the default.

string $super_global

(\phpbb\request\request_interface::POST|GET|REQUEST|COOKIE) Specifies which super global shall be changed

Return Value

mixed

The value of $_REQUEST[$var_name] run through set_var set_var to ensure that the type is the the same as that of $default. If the variable is not set $default is returned.

at line 97
mixed server(string|array $var_name, mixed $default = '')

Shortcut method to retrieve SERVER variables.

Parameters

string|array $var_name

See \phpbb\request\request_interface::variable

mixed $default

See \phpbb\request\request_interface::variable

Return Value

mixed

The server variable value.

at line 107
mixed header(string|array $header_name, mixed $default = '')

Shortcut method to retrieve the value of client HTTP headers.

Parameters

string|array $header_name

The name of the header to retrieve.

mixed $default

See \phpbb\request\request_interface::variable

Return Value

mixed

The header value.

at line 119
bool is_set_post(string $name)

Checks whether a certain variable was sent via POST.

To make sure that a request was sent using POST you should call this function on at least one variable.

Parameters

string $name

The name of the form variable which should have a _p suffix to indicate the check in the code that creates the form too.

Return Value

bool

True if the variable was set in a POST request, false otherwise.

at line 131
bool is_set(string $var, string $super_global = \phpbb\request\request_interface::REQUEST)

Checks whether a certain variable is set in one of the super global arrays.

Parameters

string $var

Name of the variable

string $super_global

(\phpbb\request\request_interface::POST|GET|REQUEST|COOKIE) Specifies which super global shall be changed

Return Value

bool

True if the variable was sent as input

at line 138
bool is_ajax()

Checks whether the current request is an AJAX request (XMLHttpRequest)

Return Value

bool

True if the current request is an ajax request

at line 145
bool is_secure()

Checks if the current request is happening over HTTPS.

Return Value

bool

True if the request is secure.

at line 156
array variable_names(string $super_global = \phpbb\request\request_interface::REQUEST)

Returns all variable names for a given super global

Parameters

string $super_global

(\phpbb\request\request_interface::POST|GET|REQUEST|COOKIE) The super global from which names shall be taken

Return Value

array

All variable names that are set for the super global. Pay attention when using these, they are unsanitised!

at line 166
array get_super_global(string $super_global = \phpbb\request\request_interface::REQUEST)

Returns the original array of the requested super global

Parameters

string $super_global

(\phpbb\request\request_interface::POST|GET|REQUEST|COOKIE) The super global which will be returned

Return Value

array

The original array of the requested super global.

at line 176
string|array escape(mixed $value, bool $multibyte)

Escape a string variable.

Parameters

mixed $value

The contents to fill with

bool $multibyte

Indicates whether string values may contain UTF-8 characters. Default is false, causing all bytes outside the ASCII range (0-127) to be replaced with question marks.

Return Value

string|array