# Class yii\web\HeaderCollection

Inheritance | yii\web\HeaderCollection » yii\base\BaseObject
Implements | ArrayAccess, Countable, IteratorAggregate, yii\base\Configurable
Available since version | 2.0
Source Code | https://github.com/yiisoft/yii2/blob/master/framework/web/HeaderCollection.php

HeaderCollection is used by yii\web\Response to maintain the currently registered HTTP headers.

## Public Properties

Hide inherited properties

Property | Type | Description | Defined By
--- | --- | --- | ---
$count | integer | The number of headers in the collection. This property is read-only. | yii\web\HeaderCollection
$iterator | ArrayIterator | An iterator for traversing the headers in the collection. This property is read-only. | yii\web\HeaderCollection

## Public Methods

Hide inherited methods

Method | Description | Defined By
--- | --- | ---
__call() | Calls the named method which is not a class method. | yii\base\BaseObject
__construct() | Constructor. | yii\base\BaseObject
__get() | Returns the value of an object property. | yii\base\BaseObject
__isset() | Checks if a property is set, i.e. defined and not null. | yii\base\BaseObject
__set() | Sets value of an object property. | yii\base\BaseObject
__unset() | Sets an object property to null. | yii\base\BaseObject
add() | Adds a new header. | yii\web\HeaderCollection
canGetProperty() | Returns a value indicating whether a property can be read. | yii\base\BaseObject
canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\BaseObject
className() | Returns the fully qualified name of this class. | yii\base\BaseObject
count() | Returns the number of headers in the collection. | yii\web\HeaderCollection
fromArray() | Populates the header collection from an array. | yii\web\HeaderCollection
get() | Returns the named header(s). | yii\web\HeaderCollection
getCount() | Returns the number of headers in the collection. | yii\web\HeaderCollection
getIterator() | Returns an iterator for traversing the headers in the collection. | yii\web\HeaderCollection
has() | Returns a value indicating whether the named header exists. | yii\web\HeaderCollection
hasMethod() | Returns a value indicating whether a method is defined. | yii\base\BaseObject
hasProperty() | Returns a value indicating whether a property is defined. | yii\base\BaseObject
init() | Initializes the object. | yii\base\BaseObject
offsetExists() | Returns whether there is a header with the specified name. | yii\web\HeaderCollection
offsetGet() | Returns the header with the specified name. | yii\web\HeaderCollection
offsetSet() | Adds the header to the collection. | yii\web\HeaderCollection
offsetUnset() | Removes the named header. | yii\web\HeaderCollection
remove() | Removes a header. | yii\web\HeaderCollection
removeAll() | Removes all headers. | yii\web\HeaderCollection
set() | Adds a new header. | yii\web\HeaderCollection
setDefault() | Sets a new header only if it does not exist yet. | yii\web\HeaderCollection
toArray() | Returns the collection as a PHP array. | yii\web\HeaderCollection

## Property Details

$count public property

The number of headers in the collection. This property is read-only.

public integer $count = null
$iterator public property

An iterator for traversing the headers in the collection. This property is read-only.

public ArrayIterator $iterator = null

## Method Details

add() public method

Adds a new header.

If there is already a header with the same name, the new one will be appended to it instead of replacing it.

public $this add ( $name, $value )
$name | string | The name of the header
$value | string | The value of the header
return | $this | The collection object itself

count() public method

Returns the number of headers in the collection.

This method is required by the SPL `Countable` interface. It will be implicitly called when you use `count($collection)`.

public integer count ( )
return | integer | The number of headers in the collection.

fromArray() public method (available since version 2.0.3)

Populates the header collection from an array.

public void fromArray ( array $array )
$array | array | The headers to populate from

get() public method

Returns the named header(s).

public string|array get ( $name, $default = null, $first = true )
$name | string | The name of the header to return
$default | mixed | The value to return in case the named header does not exist
$first | boolean | Whether to only return the first header of the specified name. If false, all headers of the specified name will be returned.
return | string|array | The named header(s). If `$first` is true, a string will be returned; If `$first` is false, an array will be returned.

getCount() public method

Returns the number of headers in the collection.

public integer getCount ( )
return | integer | The number of headers in the collection.

getIterator() public method

Returns an iterator for traversing the headers in the collection.

This method is required by the SPL interface IteratorAggregate. It will be implicitly called when you use `foreach` to traverse the collection.

public ArrayIterator getIterator ( )
return | ArrayIterator | An iterator for traversing the headers in the collection.

has() public method

Returns a value indicating whether the named header exists.

public boolean has ( $name )
$name | string | The name of the header
return | boolean | Whether the named header exists

offsetExists() public method

Returns whether there is a header with the specified name.

This method is required by the SPL interface ArrayAccess. It is implicitly called when you use something like `isset($collection[$name])`.

public boolean offsetExists ( $name )
$name | string | The header name
return | boolean | Whether the named header exists

offsetGet() public method

Returns the header with the specified name.

This method is required by the SPL interface ArrayAccess. It is implicitly called when you use something like `$header = $collection[$name];`. This is equivalent to get().

public string offsetGet ( $name )
$name | string | The header name
return | string | The header value with the specified name, null if the named header does not exist.

offsetSet() public method

Adds the header to the collection.

This method is required by the SPL interface ArrayAccess. It is implicitly called when you use something like `$collection[$name] = $header;`. This is equivalent to add().

public void offsetSet ( $name, $value )
$name | string | The header name
$value | string | The header value to be added

offsetUnset() public method

Removes the named header.

This method is required by the SPL interface ArrayAccess. It is implicitly called when you use something like `unset($collection[$name])`. This is equivalent to remove().

public void offsetUnset ( $name )
$name | string | The header name

remove() public method

Removes a header.

public array remove ( $name )
$name | string | The name of the header to be removed.
return | array | The value of the removed header. Null is returned if the header does not exist.

removeAll() public method

Removes all headers.

public void removeAll ( )

set() public method

Adds a new header.

If there is already a header with the same name, it will be replaced.

public $this set ( $name, $value = '' )
$name | string | The name of the header
$value | string | The value of the header
return | $this | The collection object itself

setDefault() public method

Sets a new header only if it does not exist yet.

If there is already a header with the same name, the new one will be ignored.

public $this setDefault ( $name, $value )
$name | string | The name of the header
$value | string | The value of the header
return | $this | The collection object itself

toArray() public method

Returns the collection as a PHP array.

public array toArray ( )
return | array | The array representation of the collection. The array keys are header names, and the array values are the corresponding header values.