class HeaderBag implements IteratorAggregate, Countable

HeaderBag is a container for HTTP headers.

Methods

__construct(array $headers = array())

Constructor.

string
__toString()

Returns the headers as a string.

array
all()

Returns the headers.

array
keys()

Returns the parameter keys.

replace(array $headers = array())

Replaces the current HTTP headers by a new set.

add(array $headers)

Adds new headers the current HTTP headers set.

string|array
get(string $key, mixed $default = null, bool $first = true)

Returns a header value by name.

set(string $key, string|array $values, bool $replace = true)

Sets a header by name.

bool
has(string $key)

Returns true if the HTTP header is defined.

bool
contains(string $key, string $value)

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

remove(string $key)

Removes a header.

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

Returns the HTTP header value converted to a date.

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

Adds a custom Cache-Control directive.

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.

getIterator()

Returns an iterator for headers.

int
count()

Returns the number of headers.

Details

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

Constructor.

Parameters

array $headers An array of HTTP headers

at line line 41
string __toString()

Returns the headers as a string.

Return Value

string The headers

at line line 65
array all()

Returns the headers.

Return Value

array An array of headers

at line line 75
array keys()

Returns the parameter keys.

Return Value

array An array of parameter keys

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

Replaces the current HTTP headers by a new set.

Parameters

array $headers An array of HTTP headers

at line line 96
add(array $headers)

Adds new headers the current HTTP headers set.

Parameters

array $headers An array of HTTP headers

at line line 112
string|array get(string $key, mixed $default = null, bool $first = true)

Returns a header value by name.

Parameters

string $key The header name
mixed $default The default value
bool $first Whether to return the first value or all header values

Return Value

string|array The first header value if $first is true, an array of values otherwise

at line line 138
set(string $key, string|array $values, bool $replace = true)

Sets a header by name.

Parameters

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

at line line 162
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

at line line 175
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 line 185
remove(string $key)

Removes a header.

Parameters

string $key The HTTP header name

at line line 206
null|DateTime 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

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

Exceptions

RuntimeException When the HTTP header is not parseable

at line line 225
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 line 239
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 line 251
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

at line line 261
removeCacheControlDirective(string $key)

Removes a Cache-Control directive.

Parameters

string $key The Cache-Control directive

at line line 273
ArrayIterator getIterator()

Returns an iterator for headers.

Return Value

ArrayIterator An \ArrayIterator instance

at line line 283
int count()

Returns the number of headers.

Return Value

int The number of headers