class ResponseHeaderBag extends HeaderBag

ResponseHeaderBag is a container for Response HTTP headers.

Constants

COOKIES_FLAT

COOKIES_ARRAY

DISPOSITION_ATTACHMENT

DISPOSITION_INLINE

Properties

protected $headers from HeaderBag
protected $cacheControl from HeaderBag
protected $computedCacheControl
protected $cookies
protected $headerNames

Methods

__construct(array $headers = array())

No description

string
__toString()

Returns the headers as a string.

from HeaderBag
array
all()

Returns the headers.

array
keys()

Returns the parameter keys.

from HeaderBag
replace(array $headers = array())

Replaces the current HTTP headers by a new set.

add(array $headers)

Adds new headers the current HTTP headers set.

from HeaderBag
string|string[]|null
get(string $key, string|string[]|null $default = null, bool $first = true)

Returns a header value by name.

from HeaderBag
set(string $key, string|string[] $values, bool $replace = true)

Sets a header by name.

bool
has(string $key)

Returns true if the HTTP header is defined.

from HeaderBag
bool
contains(string $key, string $value)

Returns true if the given HTTP header contains the given value.

from HeaderBag
remove(string $key)

Removes a header.

DateTime|null
getDate(string $key, DateTime $default = null)

Returns the HTTP header value converted to a date.

from HeaderBag
addCacheControlDirective(string $key, mixed $value = true)

Adds a custom Cache-Control directive.

from HeaderBag
bool
hasCacheControlDirective(string $key)

Returns true if the Cache-Control directive is defined.

mixed|null
getCacheControlDirective(string $key)

Returns a Cache-Control directive value by name.

removeCacheControlDirective(string $key)

Removes a Cache-Control directive.

from HeaderBag
getIterator()

Returns an iterator for headers.

from HeaderBag
int
count()

Returns the number of headers.

from HeaderBag
getCacheControlHeader()

No description

from HeaderBag
array
parseCacheControl(string $header)

Parses a Cache-Control HTTP header.

from HeaderBag
array
allPreserveCase()

Returns the headers, with original capitalizations.

setCookie(Cookie $cookie)

No description

removeCookie(string $name, string $path = '/', string $domain = null)

Removes a cookie from the array, but does not unset it in the browser.

Cookie[]
getCookies(string $format = self::COOKIES_FLAT)

Returns an array with all cookies.

clearCookie(string $name, string $path = '/', string $domain = null, bool $secure = false, bool $httpOnly = true)

Clears a cookie in the browser.

string
makeDisposition(string $disposition, string $filename, string $filenameFallback = '')

Generates a HTTP Content-Disposition field-value.

string
computeCacheControlValue()

Returns the calculated value of the cache-control header.

Details

at line 31
__construct(array $headers = array())

Parameters

array $headers An array of HTTP headers

in HeaderBag at line 39
string __toString()

Returns the headers as a string.

Return Value

string The headers

at line 91
array all()

Returns the headers.

Return Value

array An array of headers

in HeaderBag at line 73
array keys()

Returns the parameter keys.

Return Value

array An array of parameter keys

at line 73
replace(array $headers = array())

Replaces the current HTTP headers by a new set.

Parameters

array $headers An array of HTTP headers

in HeaderBag at line 94
add(array $headers)

Adds new headers the current HTTP headers set.

Parameters

array $headers An array of HTTP headers

in HeaderBag at line 110
string|string[]|null get(string $key, string|string[]|null $default = null, bool $first = true)

Returns a header value by name.

Parameters

string $key The header name
string|string[]|null $default The default value
bool $first Whether to return the first value or all header values

Return Value

string|string[]|null The first header value or default value if $first is true, an array of values otherwise

at line 104
set(string $key, string|string[] $values, bool $replace = true)

Sets a header by name.

Parameters

string $key The key
string|string[] $values The value or an array of values
bool $replace Whether to replace the actual value or not (true by default)

in HeaderBag at line 169
bool has(string $key)

Returns true if the HTTP header is defined.

Parameters

string $key The HTTP header

Return Value

bool true if the parameter exists, false otherwise

in HeaderBag at line 182
bool contains(string $key, string $value)

Returns true if the given HTTP header contains the given value.

Parameters

string $key The HTTP header name
string $value The HTTP value

Return Value

bool true if the value is contained in the header, false otherwise

at line 136
remove(string $key)

Removes a header.

Parameters

string $key The HTTP header name

in HeaderBag at line 213
DateTime|null getDate(string $key, DateTime $default = null)

Returns the HTTP header value converted to a date.

Parameters

string $key The parameter key
DateTime $default The default value

Return Value

DateTime|null The parsed DateTime or the default value if the header does not exist

Exceptions

RuntimeException When the HTTP header is not parseable

in HeaderBag at line 232
addCacheControlDirective(string $key, mixed $value = true)

Adds a custom Cache-Control directive.

Parameters

string $key The Cache-Control directive name
mixed $value The Cache-Control directive value

at line 161
bool hasCacheControlDirective(string $key)

Returns true if the Cache-Control directive is defined.

Parameters

string $key The Cache-Control directive

Return Value

bool true if the directive exists, false otherwise

at line 169
mixed|null getCacheControlDirective(string $key)

Returns a Cache-Control directive value by name.

Parameters

string $key The directive name

Return Value

mixed|null The directive value if defined, null otherwise

in HeaderBag at line 268
removeCacheControlDirective(string $key)

Removes a Cache-Control directive.

Parameters

string $key The Cache-Control directive

in HeaderBag at line 280
ArrayIterator getIterator()

Returns an iterator for headers.

Return Value

ArrayIterator An \ArrayIterator instance

in HeaderBag at line 290
int count()

Returns the number of headers.

Return Value

int The number of headers

in HeaderBag at line 295
protected getCacheControlHeader()

in HeaderBag at line 321
protected array parseCacheControl(string $header)

Parses a Cache-Control HTTP header.

Parameters

string $header The value of the Cache-Control HTTP header

Return Value

array An array representing the attribute values

at line 50
array allPreserveCase()

Returns the headers, with original capitalizations.

Return Value

array An array of headers

at line 60
allPreserveCaseWithoutCookies()

at line 174
setCookie(Cookie $cookie)

Parameters

Cookie $cookie

at line 187
removeCookie(string $name, string $path = '/', string $domain = null)

Removes a cookie from the array, but does not unset it in the browser.

Parameters

string $name
string $path
string $domain

at line 217
Cookie[] getCookies(string $format = self::COOKIES_FLAT)

Returns an array with all cookies.

Parameters

string $format

Return Value

Cookie[]

Exceptions

InvalidArgumentException When the $format is invalid

at line 248
clearCookie(string $name, string $path = '/', string $domain = null, bool $secure = false, bool $httpOnly = true)

Clears a cookie in the browser.

Parameters

string $name
string $path
string $domain
bool $secure
bool $httpOnly

at line 268
string makeDisposition(string $disposition, string $filename, string $filenameFallback = '')

Generates a HTTP Content-Disposition field-value.

Parameters

string $disposition One of "inline" or "attachment"
string $filename A unicode string
string $filenameFallback A string containing only ASCII characters that is semantically equivalent to $filename. If the filename is already ASCII, it can be omitted, or just copied from $filename

Return Value

string A string suitable for use as a Content-Disposition field-value

Exceptions

InvalidArgumentException

See also

RFC 6266

at line 310
protected string computeCacheControlValue()

Returns the calculated value of the cache-control header.

This considers several other headers and calculates or modifies the cache-control header to a sensible, conservative value.

Return Value

string