CodeIgniter v4.5 API

Request extends OutgoingRequest
in package
implements RequestInterface uses RequestTrait

Representation of an incoming, server-side HTTP request.

Tags
see
RequestTest

Table of Contents

Interfaces

RequestInterface
Representation of an incoming, server-side HTTP request.

Properties

$body  : string|null
Message body
$config  : App
Configuration settings.
$globals  : array{get?: array, post?: array, request?: array, cookie?: array, server?: array}
Stores values we've retrieved from PHP globals.
$headerMap  : array<string|int, mixed>
Holds a map of lower-case header names and their normal-case key as it is in $headers.
$headers  : array<string, Header|array<int, Header>>
List of all HTTP request headers.
$ipAddress  : string
IP address of the current user.
$method  : string
Request method.
$protocolVersion  : string
Protocol version
$uri  : URI|null
A URI instance.
$validProtocolVersions  : array<string|int, mixed>
List of valid protocol versions

Methods

__construct()  : mixed
Constructor.
addHeader()  : $this
Adds a header (not a header value) with the same name.
appendBody()  : $this
Appends data to the body of the current message.
appendHeader()  : $this
Adds an additional header value to any headers that accept multiple values (i.e. are an array or implement ArrayAccess)
fetchGlobal()  : array<string|int, mixed>|bool|float|int|object|string|null
Fetches one or more items from a global, like cookies, get, post, etc.
getBody()  : string|null
Returns the Message's body.
getEnv()  : mixed
Fetch an item from the $_ENV array.
getHeader()  : array<string|int, mixed>|Header|null
Returns a single header object. If multiple headers with the same name exist, then will return an array of header objects.
getHeaderLine()  : string
Retrieves a comma-separated string of the values for a single header.
getHeaders()  : array<string, Header>
Returns an array containing all headers.
getIPAddress()  : string
Gets the user's IP address.
getMethod()  : string
Retrieves the HTTP method of the request.
getProtocolVersion()  : string
Returns the HTTP Protocol Version.
getServer()  : mixed
Fetch an item from the $_SERVER array.
getUri()  : URI
Retrieves the URI instance.
hasHeader()  : bool
Determines whether a header exists.
header()  : Header|array<int, Header>|null
Returns a single Header object. If multiple headers with the same name exist, then will return an array of header objects.
headers()  : array<string, Header|array<int, Header>>
Returns an array containing all Headers.
populateHeaders()  : void
Populates the $headers array with any headers the server knows about.
prependHeader()  : $this
Adds an additional header value to any headers that accept multiple values (i.e. are an array or implement ArrayAccess)
removeHeader()  : $this
Removes a header from the list of headers we track.
setBody()  : $this
Sets the body of the current message.
setGlobal()  : $this
Allows manually setting the value of PHP global, like $_GET, $_POST, etc.
setHeader()  : $this
Sets a header and it's value.
setMethod()  : $this
Sets the request method. Used when spoofing the request.
setProtocolVersion()  : $this
Sets the HTTP protocol version.
withMethod()  : static
Returns an instance with the specified method.
withUri()  : static
Returns an instance with the provided URI.
getHeaderName()  : string
Takes a header name in any case, and returns the normal-case version of the header.
populateGlobals()  : void
Saves a copy of the current state of one of several PHP globals, so we can retrieve them later.
checkMultipleHeaders()  : void
getClientIP()  : string|null
Gets the client IP address from the HTTP header.
getHostFromUri()  : string
hasMultipleHeaders()  : bool
isHostHeaderMissingOrEmpty()  : bool

Properties

$body

Message body

protected string|null $body

$globals

Stores values we've retrieved from PHP globals.

protected array{get?: array, post?: array, request?: array, cookie?: array, server?: array} $globals = []

$headerMap

Holds a map of lower-case header names and their normal-case key as it is in $headers.

protected array<string|int, mixed> $headerMap = []

Used for case-insensitive header access.

$headers

List of all HTTP request headers.

protected array<string, Header|array<int, Header>> $headers = []

[name => Header] or [name => [Header1, Header2]]

$ipAddress

IP address of the current user.

Will become private in a future release

protected string $ipAddress = ''

$protocolVersion

Protocol version

protected string $protocolVersion

$validProtocolVersions

List of valid protocol versions

protected array<string|int, mixed> $validProtocolVersions = ['1.0', '1.1', '2.0', '3.0']

Methods

__construct()

Constructor.

public __construct([App $config = null ]) : mixed
Parameters
$config : App = null

addHeader()

Adds a header (not a header value) with the same name.

public addHeader(string $name, string $value) : $this

Use this only when you set multiple headers with the same name, typically, for Set-Cookie.

Parameters
$name : string
$value : string
Return values
$this

appendBody()

Appends data to the body of the current message.

public appendBody(string $data) : $this
Parameters
$data : string
Return values
$this

appendHeader()

Adds an additional header value to any headers that accept multiple values (i.e. are an array or implement ArrayAccess)

public appendHeader(string $name, string|null $value) : $this
Parameters
$name : string
$value : string|null
Return values
$this

fetchGlobal()

Fetches one or more items from a global, like cookies, get, post, etc.

public fetchGlobal(string $name[, array<string|int, mixed>|int|string|null $index = null ][, int|null $filter = null ][, array<string|int, mixed>|int|null $flags = null ]) : array<string|int, mixed>|bool|float|int|object|string|null

Can optionally filter the input when you retrieve it by passing in a filter.

If $type is an array, it must conform to the input allowed by the filter_input_array method.

http://php.net/manual/en/filter.filters.sanitize.php

Parameters
$name : string

Supergrlobal name (lowercase)

$index : array<string|int, mixed>|int|string|null = null
$filter : int|null = null

Filter constant

$flags : array<string|int, mixed>|int|null = null

Options

Tags
phpstan-param

'get'|'post'|'request'|'cookie'|'server' $name

Return values
array<string|int, mixed>|bool|float|int|object|string|null

getBody()

Returns the Message's body.

public getBody() : string|null
Return values
string|null

getEnv()

Fetch an item from the $_ENV array.

public getEnv([array<string|int, mixed>|string|null $index = null ][, int|null $filter = null ][, array<string|int, mixed>|int|null $flags = null ]) : mixed

This method does not work from the beginning. Use env().

Parameters
$index : array<string|int, mixed>|string|null = null

Index for item to be fetched from $_ENV

$filter : int|null = null

A filter name to be applied

$flags : array<string|int, mixed>|int|null = null

getHeader()

Returns a single header object. If multiple headers with the same name exist, then will return an array of header objects.

public getHeader(string $name) : array<string|int, mixed>|Header|null

Use Message::header() to make room for PSR-7

Parameters
$name : string
Tags
TODO

Incompatible return value with PSR-7

codeCoverageIgnore
Return values
array<string|int, mixed>|Header|null

getHeaderLine()

Retrieves a comma-separated string of the values for a single header.

public getHeaderLine(string $name) : string

This method returns all of the header values of the given case-insensitive header name as a string concatenated together using a comma.

NOTE: Not all header values may be appropriately represented using comma concatenation. For such headers, use getHeader() instead and supply your own delimiter when concatenating.

Parameters
$name : string
Return values
string

getHeaders()

Returns an array containing all headers.

public getHeaders() : array<string, Header>

Use Message::headers() to make room for PSR-7

Tags
TODO

Incompatible return value with PSR-7

codeCoverageIgnore
Return values
array<string, Header>

An array of the request headers

getIPAddress()

Gets the user's IP address.

public getIPAddress() : string
Return values
string

IP address if it can be detected. If the IP address is not a valid IP address, then will return '0.0.0.0'.

getMethod()

Retrieves the HTTP method of the request.

public getMethod() : string
Return values
string

Returns the request method (always uppercase)

getProtocolVersion()

Returns the HTTP Protocol Version.

public getProtocolVersion() : string
Return values
string

HTTP protocol version.

getServer()

Fetch an item from the $_SERVER array.

public getServer([array<string|int, mixed>|string|null $index = null ][, int|null $filter = null ][, array<string|int, mixed>|int|null $flags = null ]) : mixed
Parameters
$index : array<string|int, mixed>|string|null = null

Index for item to be fetched from $_SERVER

$filter : int|null = null

A filter name to be applied

$flags : array<string|int, mixed>|int|null = null

getUri()

Retrieves the URI instance.

public getUri() : URI
Return values
URI

hasHeader()

Determines whether a header exists.

public hasHeader(string $name) : bool
Parameters
$name : string

Case-insensitive header field name.

Return values
bool

Returns true if any header names match the given header name using a case-insensitive string comparison. Returns false if no matching header name is found in the message.

header()

Returns a single Header object. If multiple headers with the same name exist, then will return an array of header objects.

public header(string $name) : Header|array<int, Header>|null
Parameters
$name : string
Return values
Header|array<int, Header>|null

headers()

Returns an array containing all Headers.

public headers() : array<string, Header|array<int, Header>>
Return values
array<string, Header|array<int, Header>>

An array of the Header objects

populateHeaders()

Populates the $headers array with any headers the server knows about.

public populateHeaders() : void

prependHeader()

Adds an additional header value to any headers that accept multiple values (i.e. are an array or implement ArrayAccess)

public prependHeader(string $name, string $value) : $this
Parameters
$name : string
$value : string
Return values
$this

removeHeader()

Removes a header from the list of headers we track.

public removeHeader(string $name) : $this
Parameters
$name : string
Return values
$this

setBody()

Sets the body of the current message.

public setBody(string $data) : $this
Parameters
$data : string
Return values
$this

setGlobal()

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

public setGlobal(string $name, mixed $value) : $this
Parameters
$name : string

Supergrlobal name (lowercase)

$value : mixed
Tags
phpstan-param

'get'|'post'|'request'|'cookie'|'server' $name

Return values
$this

setHeader()

Sets a header and it's value.

public setHeader(string $name, array<string|int, mixed>|string|null $value) : $this
Parameters
$name : string
$value : array<string|int, mixed>|string|null
Return values
$this

setMethod()

Sets the request method. Used when spoofing the request.

public setMethod(string $method) : $this

Use withMethod() instead for immutability

Parameters
$method : string
Tags
codeCoverageIgnore
Return values
$this

setProtocolVersion()

Sets the HTTP protocol version.

public setProtocolVersion(string $version) : $this
Parameters
$version : string
Tags
throws
HTTPException

For invalid protocols

Return values
$this

withMethod()

Returns an instance with the specified method.

public withMethod(string $method) : static
Parameters
$method : string
Return values
static

withUri()

Returns an instance with the provided URI.

public withUri(URI $uri[, bool $preserveHost = false ]) : static
Parameters
$uri : URI

New request URI to use.

$preserveHost : bool = false

Preserve the original state of the Host header.

Return values
static

getHeaderName()

Takes a header name in any case, and returns the normal-case version of the header.

protected getHeaderName(string $name) : string
Parameters
$name : string
Return values
string

populateGlobals()

Saves a copy of the current state of one of several PHP globals, so we can retrieve them later.

protected populateGlobals(string $name) : void
Parameters
$name : string

Superglobal name (lowercase)

Tags
phpstan-param

'get'|'post'|'request'|'cookie'|'server' $name

checkMultipleHeaders()

private checkMultipleHeaders(string $name) : void
Parameters
$name : string

getClientIP()

Gets the client IP address from the HTTP header.

private getClientIP(string $header) : string|null
Parameters
$header : string
Return values
string|null

getHostFromUri()

private getHostFromUri(URI $uri) : string
Parameters
$uri : URI
Return values
string

hasMultipleHeaders()

private hasMultipleHeaders(string $name) : bool
Parameters
$name : string
Return values
bool

isHostHeaderMissingOrEmpty()

private isHostHeaderMissingOrEmpty() : bool
Return values
bool

        
On this page

Search results