Documentation

ResponseInterface

Representation of an outgoing, getServer-side response.

Most of these methods are supplied by ResponseTrait.

Per the HTTP specification, this interface includes properties for each of the following:

  • Protocol version
  • Status code and reason phrase
  • Headers
  • Message body
Tags
mixin

RedirectResponse

Table of Contents

HTTP_ACCEPTED  = 202
HTTP_ALREADY_REPORTED  = 208
HTTP_BAD_GATEWAY  = 502
HTTP_BAD_REQUEST  = 400
HTTP_CLIENT_CLOSED_REQUEST  = 499
HTTP_CONFLICT  = 409
HTTP_CONTINUE  = 100
Constants for status codes.
HTTP_CREATED  = 201
HTTP_EARLY_HINTS  = 103
HTTP_EXPECTATION_FAILED  = 417
HTTP_FAILED_DEPENDENCY  = 424
HTTP_FORBIDDEN  = 403
HTTP_FOUND  = 302
HTTP_GATEWAY_TIMEOUT  = 504
HTTP_GONE  = 410
HTTP_HTTP_VERSION_NOT_SUPPORTED  = 505
HTTP_IM_A_TEAPOT  = 418
HTTP_IM_USED  = 226
HTTP_INSUFFICIENT_STORAGE  = 507
HTTP_INTERNAL_SERVER_ERROR  = 500
HTTP_LENGTH_REQUIRED  = 411
HTTP_LOCKED  = 423
HTTP_LOOP_DETECTED  = 508
HTTP_METHOD_NOT_ALLOWED  = 405
HTTP_MISDIRECTED_REQUEST  = 421
HTTP_MOVED_PERMANENTLY  = 301
HTTP_MULTI_STATUS  = 207
HTTP_MULTIPLE_CHOICES  = 300
HTTP_NETWORK_AUTHENTICATION_REQUIRED  = 511
HTTP_NETWORK_CONNECT_TIMEOUT_ERROR  = 599
HTTP_NO_CONTENT  = 204
HTTP_NONAUTHORITATIVE_INFORMATION  = 203
HTTP_NOT_ACCEPTABLE  = 406
HTTP_NOT_EXTENDED  = 510
HTTP_NOT_FOUND  = 404
HTTP_NOT_IMPLEMENTED  = 501
HTTP_NOT_MODIFIED  = 304
HTTP_OK  = 200
HTTP_PARTIAL_CONTENT  = 206
HTTP_PAYLOAD_TOO_LARGE  = 413
HTTP_PAYMENT_REQUIRED  = 402
HTTP_PERMANENT_REDIRECT  = 308
HTTP_PRECONDITION_FAILED  = 412
HTTP_PRECONDITION_REQUIRED  = 428
HTTP_PROCESSING  = 102
HTTP_PROXY_AUTHENTICATION_REQUIRED  = 407
HTTP_RANGE_NOT_SATISFIABLE  = 416
HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE  = 431
HTTP_REQUEST_TIMEOUT  = 408
HTTP_RESET_CONTENT  = 205
HTTP_SEE_OTHER  = 303
HTTP_SERVICE_UNAVAILABLE  = 503
HTTP_SWITCH_PROXY  = 306
HTTP_SWITCHING_PROTOCOLS  = 101
HTTP_TEMPORARY_REDIRECT  = 307
HTTP_TOO_EARLY  = 425
HTTP_TOO_MANY_REQUESTS  = 429
HTTP_UNAUTHORIZED  = 401
HTTP_UNAVAILABLE_FOR_LEGAL_REASONS  = 451
HTTP_UNPROCESSABLE_ENTITY  = 422
HTTP_UNSUPPORTED_MEDIA_TYPE  = 415
HTTP_UPGRADE_REQUIRED  = 426
HTTP_URI_TOO_LONG  = 414
HTTP_USE_PROXY  = 305
HTTP_VARIANT_ALSO_NEGOTIATES  = 506
deleteCookie()  : $this
Sets a cookie to be deleted when the response is sent.
download()  : DownloadResponse|null
Force a download.
getCookie()  : array<string|int, Cookie>|Cookie|null
Returns the cookie
getCookies()  : array<string|int, Cookie>
Returns all cookies currently set.
getJSON()  : mixed|string
Returns the current body, converted to JSON is it isn't already.
getReason()  : string
Gets the response response phrase associated with the status code.
getStatusCode()  : int
Gets the response status code.
getXML()  : mixed|string
Retrieves the current body into XML and returns it.
hasCookie()  : bool
Checks to see if the Response has a specified cookie or not.
noCache()  : mixed
Sets the appropriate headers to ensure this response is not cached by the browsers.
redirect()  : $this
Perform a redirect to a new URL, in two flavors: header or location.
send()  : ResponseInterface
Sends the output to the browser.
sendBody()  : Response
Sends the Body of the message to the browser.
sendHeaders()  : Response
Sends the headers of this HTTP request to the browser.
setCache()  : ResponseInterface
A shortcut method that allows the developer to set all of the cache-control headers in one method call.
setContentType()  : ResponseInterface
Sets the Content Type header for this response with the mime type and, optionally, the charset.
setCookie()  : $this
Set a cookie
setDate()  : ResponseInterface
Sets the date header
setJSON()  : $this
Converts the $body into JSON and sets the Content Type header.
setLastModified()  : mixed
Sets the Last-Modified date header.
setLink()  : Response
Set the Link Header
setStatusCode()  : self
Return an instance with the specified status code and, optionally, reason phrase.
setXML()  : $this
Converts $body into XML, and sets the correct Content-Type.

Constants

HTTP_CONTINUE

Constants for status codes.

public mixed HTTP_CONTINUE = 100

From https://en.wikipedia.org/wiki/List_of_HTTP_status_codes

HTTP_HTTP_VERSION_NOT_SUPPORTED

public mixed HTTP_HTTP_VERSION_NOT_SUPPORTED = 505

HTTP_NETWORK_AUTHENTICATION_REQUIRED

public mixed HTTP_NETWORK_AUTHENTICATION_REQUIRED = 511

HTTP_NETWORK_CONNECT_TIMEOUT_ERROR

public mixed HTTP_NETWORK_CONNECT_TIMEOUT_ERROR = 599

HTTP_NONAUTHORITATIVE_INFORMATION

public mixed HTTP_NONAUTHORITATIVE_INFORMATION = 203

HTTP_PROXY_AUTHENTICATION_REQUIRED

public mixed HTTP_PROXY_AUTHENTICATION_REQUIRED = 407

HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE

public mixed HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE = 431
public mixed HTTP_UNAVAILABLE_FOR_LEGAL_REASONS = 451

HTTP_VARIANT_ALSO_NEGOTIATES

public mixed HTTP_VARIANT_ALSO_NEGOTIATES = 506

Methods

deleteCookie()

Sets a cookie to be deleted when the response is sent.

public deleteCookie([string $name = '' ][, string $domain = '' ][, string $path = '/' ][, string $prefix = '' ]) : $this
Parameters
$name : string = ''
$domain : string = ''
$path : string = '/'
$prefix : string = ''
Return values
$this

download()

Force a download.

public download([string $filename = '' ][, string|null $data = '' ][, bool $setMime = false ]) : DownloadResponse|null

Generates the headers that force a download to happen. And sends the file to the browser.

Parameters
$filename : string = ''

The path to the file to send

$data : string|null = ''

The data to be downloaded

$setMime : bool = false

Whether to try and send the actual MIME type

Return values
DownloadResponse|null

getCookie()

Returns the cookie

public getCookie([string|null $name = null ][, string $prefix = '' ]) : array<string|int, Cookie>|Cookie|null
Parameters
$name : string|null = null
$prefix : string = ''
Return values
array<string|int, Cookie>|Cookie|null

getCookies()

Returns all cookies currently set.

public getCookies() : array<string|int, Cookie>
Return values
array<string|int, Cookie>

getJSON()

Returns the current body, converted to JSON is it isn't already.

public getJSON() : mixed|string
Tags
throws
InvalidArgumentException

If the body property is not array.

Return values
mixed|string

getStatusCode()

Gets the response status code.

public getStatusCode() : int

The status code is a 3-digit integer result code of the getServer's attempt to understand and satisfy the request.

Tags
deprecated

To be replaced by the PSR-7 version (compatible)

Return values
int

Status code.

getXML()

Retrieves the current body into XML and returns it.

public getXML() : mixed|string
Tags
throws
InvalidArgumentException

If the body property is not array.

Return values
mixed|string

hasCookie()

Checks to see if the Response has a specified cookie or not.

public hasCookie(string $name[, string|null $value = null ][, string $prefix = '' ]) : bool
Parameters
$name : string
$value : string|null = null
$prefix : string = ''
Return values
bool

noCache()

Sets the appropriate headers to ensure this response is not cached by the browsers.

public noCache() : mixed
Return values
mixed

redirect()

Perform a redirect to a new URL, in two flavors: header or location.

public redirect(string $uri[, string $method = 'auto' ][, int $code = null ]) : $this
Parameters
$uri : string

The URI to redirect to

$method : string = 'auto'
$code : int = null

The type of redirection, defaults to 302

Tags
throws
HTTPException

For invalid status code.

Return values
$this

setCache()

A shortcut method that allows the developer to set all of the cache-control headers in one method call.

public setCache([array<string|int, mixed> $options = [] ]) : ResponseInterface

The options array is used to provide the cache-control directives for the header. It might look something like:

 $options = [
     'max-age'  => 300,
     's-maxage' => 900
     'etag'     => 'abcde',
 ];

Typical options are:

  • etag
  • last-modified
  • max-age
  • s-maxage
  • private
  • public
  • must-revalidate
  • proxy-revalidate
  • no-transform
Parameters
$options : array<string|int, mixed> = []
Return values
ResponseInterface

setContentType()

Sets the Content Type header for this response with the mime type and, optionally, the charset.

public setContentType(string $mime[, string $charset = 'UTF-8' ]) : ResponseInterface
Parameters
$mime : string
$charset : string = 'UTF-8'
Return values
ResponseInterface

setCookie()

Set a cookie

public setCookie(string|array<string|int, mixed> $name[, string $value = '' ][, string $expire = '' ][, string $domain = '' ][, string $path = '/' ][, string $prefix = '' ][, bool $secure = false ][, bool $httponly = false ][, string|null $samesite = null ]) : $this

Accepts an arbitrary number of binds (up to 7) or an associative array in the first parameter containing all the values.

Parameters
$name : string|array<string|int, mixed>

Cookie name or array containing binds

$value : string = ''

Cookie value

$expire : string = ''

Cookie expiration time in seconds

$domain : string = ''

Cookie domain (e.g.: '.yourdomain.com')

$path : string = '/'

Cookie path (default: '/')

$prefix : string = ''

Cookie name prefix

$secure : bool = false

Whether to only transfer cookies via SSL

$httponly : bool = false

Whether only make the cookie accessible via HTTP (no javascript)

$samesite : string|null = null
Return values
$this

setJSON()

Converts the $body into JSON and sets the Content Type header.

public setJSON(array<string|int, mixed>|string $body[, bool $unencoded = false ]) : $this
Parameters
$body : array<string|int, mixed>|string
$unencoded : bool = false
Return values
$this

setLastModified()

Sets the Last-Modified date header.

public setLastModified(string|DateTime $date) : mixed

$date can be either a string representation of the date or, preferably, an instance of DateTime.

Parameters
$date : string|DateTime
Return values
mixed

setStatusCode()

Return an instance with the specified status code and, optionally, reason phrase.

public setStatusCode(int $code[, string $reason = '' ]) : self

If no reason phrase is specified, will default recommended reason phrase for the response's status code.

Parameters
$code : int

The 3-digit integer result code to set.

$reason : string = ''

The reason phrase to use with the provided status code; if none is provided, will default to the IANA name.

Tags
see
http://tools.ietf.org/html/rfc7231#section-6
see
http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml
throws
InvalidArgumentException

For invalid status code arguments.

Return values
self

setXML()

Converts $body into XML, and sets the correct Content-Type.

public setXML(array<string|int, mixed>|string $body) : $this
Parameters
$body : array<string|int, mixed>|string
Return values
$this

Search results