Request Class

The request class is an object-oriented representation of an HTTP request. This is meant to work for both incoming, such as a request to the application from a browser, and outgoing requests, like would be used to send a request from the application to a third-party application. This class provides the common functionality they both need, but both cases have custom classes that extend from the Request class to add specific functionality.

See the documentation for the IncomingRequest Class and CURLRequest Class for more usage details.

Class Reference

CodeIgniter\HTTP\Request
getIPAddress()
Returns:The user’s IP Address, if it can be detected, or null. If the IP address is not a valid IP address, then will return 0.0.0.0
Return type:string

Returns the IP address for the current user. If the IP address is not valid, the method will return ‘0.0.0.0’:

echo $request->getIPAddress();

Important

This method takes into account the App->proxyIPs setting and will return the reported HTTP_X_FORWARDED_FOR, HTTP_CLIENT_IP, HTTP_X_CLIENT_IP, or HTTP_X_CLUSTER_CLIENT_IP address for the allowed IP address.

isValidIP($ip[, $which = ''])
Parameters:
  • $ip (string) – IP address
  • $which (string) – IP protocol (‘ipv4’ or ‘ipv6’)
Returns:

true if the address is valid, false if not

Return type:

bool

Takes an IP address as input and returns true or false (boolean) depending on whether it is valid or not.

Note

The $request->getIPAddress() method above automatically validates the IP address.

if ( ! $request->isValidIP($ip))
{
    echo 'Not Valid';
}
else
{
    echo 'Valid';
}

Accepts an optional second string parameter of ‘ipv4’ or ‘ipv6’ to specify an IP format. The default checks for both formats.

getMethod([$upper = FALSE])
Parameters:
  • $upper (bool) – Whether to return the request method name in upper or lower case
Returns:

HTTP request method

Return type:

string

Returns the $_SERVER['REQUEST_METHOD'], with the option to set it in uppercase or lowercase.

echo $request->getMethod(TRUE); // Outputs: POST
echo $request->getMethod(FALSE); // Outputs: post
echo $request->getMethod(); // Outputs: post
setMethod($method)
Parameters:
  • $upper (string) – Sets the request method. Used when spoofing the request.
Returns:

HTTP request method

Return type:

Request

getServer([$index = null[, $filter = null[, $flags = null]]])
Parameters:
  • $index (mixed) – Value name
  • $filter (int) – The type of filter to apply. A list of filters can be found here.
  • $flags (int|array) – Flags to apply. A list of flags can be found here.
Returns:

$_SERVER item value if found, NULL if not

Return type:

mixed

This method is identical to the post(), get() and cookie() methods from the IncomingRequest Class, only it fetches getServer data ($_SERVER):

$request->getServer('some_data');

To return an array of multiple $_SERVER values, pass all the required keys as an array.

$require->getServer(['SERVER_PROTOCOL', 'REQUEST_URI']);
getEnv([$index = null[, $filter = null[, $flags = null]]])
Parameters:
  • $index (mixed) – Value name
  • $filter (int) – The type of filter to apply. A list of filters can be found here.
  • $flags (int|array) – Flags to apply. A list of flags can be found here.
Returns:

$_ENV item value if found, NULL if not

Return type:

mixed

This method is identical to the post(), get() and cookie() methods from the IncomingRequest Class, only it fetches getEnv data ($_ENV):

$request->getEnv('some_data');

To return an array of multiple $_ENV values, pass all the required keys as an array.

$require->getEnv(['CI_ENVIRONMENT', 'S3_BUCKET']);
setGlobal($method, $value)
Parameters:
  • $method (string) – Method name
  • $value (mixed) – Data to be added
Returns:

HTTP request method

Return type:

Request

Allows manually setting the value of PHP global, like $_GET, $_POST, etc.

fetchGlobal($method[, $index = null[, $filter = null[, $flags = null]]])
Parameters:
  • $method (string) – Input filter constant
  • $index (mixed) – Value name
  • $filter (int) – The type of filter to apply. A list of filters can be found here.
  • $flags (int|array) – Flags to apply. A list of flags can be found here.
Return type:

mixed

Fetches one or more items from a global, like cookies, get, post, etc. Can optionally filter the input when you retrieve it by passing in a filter.