HumHub Documentation (unofficial)

HeaderCollection extends BaseObject
in package
implements IteratorAggregate, ArrayAccess, Countable

HeaderCollection is used by [[Response]] to maintain the currently registered HTTP headers.

Tags
author

Qiang Xue qiang.xue@gmail.com

since
2.0

Table of Contents

Interfaces

IteratorAggregate
ArrayAccess
Countable

Properties

$_headers  : array<string|int, mixed>
$_originalHeaderNames  : array<string|int, mixed>

Methods

__call()  : mixed
Calls the named method which is not a class method.
__construct()  : mixed
Constructor.
__get()  : mixed
Returns the value of an object property.
__isset()  : bool
Checks if a property is set, i.e. defined and not null.
__set()  : mixed
Sets value of an object property.
__unset()  : mixed
Sets an object property to null.
add()  : $this
Adds a new header.
canGetProperty()  : bool
Returns a value indicating whether a property can be read.
canSetProperty()  : bool
Returns a value indicating whether a property can be set.
className()  : string
Returns the fully qualified name of this class.
count()  : int
Returns the number of headers in the collection.
fromArray()  : mixed
Populates the header collection from an array.
get()  : string|array<string|int, mixed>|null
Returns the named header(s).
getCount()  : int
Returns the number of headers in the collection.
getIterator()  : ArrayIterator
Returns an iterator for traversing the headers in the collection.
has()  : bool
Returns a value indicating whether the named header exists.
hasMethod()  : bool
Returns a value indicating whether a method is defined.
hasProperty()  : bool
Returns a value indicating whether a property is defined.
init()  : mixed
Initializes the object.
offsetExists()  : bool
Returns whether there is a header with the specified name.
offsetGet()  : string|null
Returns the header with the specified name.
offsetSet()  : mixed
Adds the header to the collection.
offsetUnset()  : mixed
Removes the named header.
remove()  : array<string|int, mixed>|null
Removes a header.
removeAll()  : mixed
Removes all headers.
set()  : $this
Adds a new header.
setDefault()  : $this
Sets a new header only if it does not exist yet.
toArray()  : array<string|int, mixed>
Returns the collection as a PHP array.
toOriginalArray()  : array<string|int, mixed>
Returns the collection as a PHP array but instead of using normalized header names as keys (like [[toArray()]]) it uses original header names (case-sensitive).

Properties

$_headers

private array<string|int, mixed> $_headers = []

the headers in this collection (indexed by the normalized header names)

$_originalHeaderNames

private array<string|int, mixed> $_originalHeaderNames = []

the original names of the headers (indexed by the normalized header names)

Methods

__call()

Calls the named method which is not a class method.

public __call(string $name, array<string|int, mixed> $params) : mixed

Do not call this method directly as it is a PHP magic method that will be implicitly called when an unknown method is being invoked.

Parameters
$name : string

the method name

$params : array<string|int, mixed>

method parameters

Tags
throws
UnknownMethodException

when calling unknown method

Return values
mixed —

the method return value

__construct()

Constructor.

public __construct([array<string|int, mixed> $config = [] ]) : mixed

The default implementation does two things:

  • Initializes the object with the given configuration $config.
  • Call [[init()]].

If this method is overridden in a child class, it is recommended that

  • the last parameter of the constructor is a configuration array, like $config here.
  • call the parent implementation at the end of the constructor.
Parameters
$config : array<string|int, mixed> = []

name-value pairs that will be used to initialize the object properties

__get()

Returns the value of an object property.

public __get(string $name) : mixed

Do not call this method directly as it is a PHP magic method that will be implicitly called when executing $value = $object->property;.

Parameters
$name : string

the property name

Tags
throws
UnknownPropertyException

if the property is not defined

throws
InvalidCallException

if the property is write-only

see
__set()
Return values
mixed —

the property value

__isset()

Checks if a property is set, i.e. defined and not null.

public __isset(string $name) : bool

Do not call this method directly as it is a PHP magic method that will be implicitly called when executing isset($object->property).

Note that if the property is not defined, false will be returned.

Parameters
$name : string

the property name or the event name

Tags
see
https://www.php.net/manual/en/function.isset.php
Return values
bool —

whether the named property is set (not null).

__set()

Sets value of an object property.

public __set(string $name, mixed $value) : mixed

Do not call this method directly as it is a PHP magic method that will be implicitly called when executing $object->property = $value;.

Parameters
$name : string

the property name or the event name

$value : mixed

the property value

Tags
throws
UnknownPropertyException

if the property is not defined

throws
InvalidCallException

if the property is read-only

see
__get()

__unset()

Sets an object property to null.

public __unset(string $name) : mixed

Do not call this method directly as it is a PHP magic method that will be implicitly called when executing unset($object->property).

Note that if the property is not defined, this method will do nothing. If the property is read-only, it will throw an exception.

Parameters
$name : string

the property name

Tags
throws
InvalidCallException

if the property is read only.

see
https://www.php.net/manual/en/function.unset.php

add()

Adds a new header.

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

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

Parameters
$name : string

the name of the header

$value : string

the value of the header

Return values
$this —

the collection object itself

canGetProperty()

Returns a value indicating whether a property can be read.

public canGetProperty(string $name[, bool $checkVars = true ]) : bool

A property is readable if:

  • the class has a getter method associated with the specified name (in this case, property name is case-insensitive);
  • the class has a member variable with the specified name (when $checkVars is true);
Parameters
$name : string

the property name

$checkVars : bool = true

whether to treat member variables as properties

Tags
see
canSetProperty()
Return values
bool —

whether the property can be read

canSetProperty()

Returns a value indicating whether a property can be set.

public canSetProperty(string $name[, bool $checkVars = true ]) : bool

A property is writable if:

  • the class has a setter method associated with the specified name (in this case, property name is case-insensitive);
  • the class has a member variable with the specified name (when $checkVars is true);
Parameters
$name : string

the property name

$checkVars : bool = true

whether to treat member variables as properties

Tags
see
canGetProperty()
Return values
bool —

whether the property can be written

className()

Returns the fully qualified name of this class.

public static className() : string
Tags
deprecated

since 2.0.14. On PHP >=5.5, use ::class instead.

Return values
string —

the fully qualified name of this class.

count()

Returns the number of headers in the collection.

public count() : int

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

Attributes
#[ReturnTypeWillChange]
Return values
int —

the number of headers in the collection.

fromArray()

Populates the header collection from an array.

public fromArray(array<string|int, mixed> $array) : mixed
Parameters
$array : array<string|int, mixed>

the headers to populate from

Tags
since
2.0.3

get()

Returns the named header(s).

public get(string $name[, mixed $default = null ][, bool $first = true ]) : string|array<string|int, mixed>|null
Parameters
$name : string

the name of the header to return

$default : mixed = null

the value to return in case the named header does not exist

$first : bool = true

whether to only return the first header of the specified name. If false, all headers of the specified name will be returned.

Return values
string|array<string|int, mixed>|null —

the named header(s). If $first is true, a string will be returned; If $first is false, an array will be returned.

getCount()

Returns the number of headers in the collection.

public getCount() : int
Attributes
#[ReturnTypeWillChange]
Return values
int —

the number of headers in the collection.

getIterator()

Returns an iterator for traversing the headers in the collection.

public getIterator() : ArrayIterator

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

Attributes
#[ReturnTypeWillChange]
Return values
ArrayIterator —

an iterator for traversing the headers in the collection.

has()

Returns a value indicating whether the named header exists.

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

the name of the header

Return values
bool —

whether the named header exists

hasMethod()

Returns a value indicating whether a method is defined.

public hasMethod(string $name) : bool

The default implementation is a call to php function method_exists(). You may override this method when you implemented the php magic method __call().

Parameters
$name : string

the method name

Return values
bool —

whether the method is defined

hasProperty()

Returns a value indicating whether a property is defined.

public hasProperty(string $name[, bool $checkVars = true ]) : bool

A property is defined if:

  • the class has a getter or setter method associated with the specified name (in this case, property name is case-insensitive);
  • the class has a member variable with the specified name (when $checkVars is true);
Parameters
$name : string

the property name

$checkVars : bool = true

whether to treat member variables as properties

Tags
see
canGetProperty()
see
canSetProperty()
Return values
bool —

whether the property is defined

init()

Initializes the object.

public init() : mixed

This method is invoked at the end of the constructor after the object is initialized with the given configuration.

offsetExists()

Returns whether there is a header with the specified name.

public offsetExists(string $name) : bool

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

Parameters
$name : string

the header name

Attributes
#[ReturnTypeWillChange]
Return values
bool —

whether the named header exists

offsetGet()

Returns the header with the specified name.

public offsetGet(string $name) : string|null

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()]].

Parameters
$name : string

the header name

Attributes
#[ReturnTypeWillChange]
Return values
string|null —

the header value with the specified name, null if the named header does not exist.

offsetSet()

Adds the header to the collection.

public offsetSet(string $name, string $value) : mixed

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()]].

Parameters
$name : string

the header name

$value : string

the header value to be added

Attributes
#[ReturnTypeWillChange]

offsetUnset()

Removes the named header.

public offsetUnset(string $name) : mixed

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()]].

Parameters
$name : string

the header name

Attributes
#[ReturnTypeWillChange]

remove()

Removes a header.

public remove(string $name) : array<string|int, mixed>|null
Parameters
$name : string

the name of the header to be removed.

Return values
array<string|int, mixed>|null —

the value of the removed header. Null is returned if the header does not exist.

set()

Adds a new header.

public set(string $name[, string $value = '' ]) : $this

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

Parameters
$name : string

the name of the header

$value : string = ''

the value of the header

Return values
$this —

the collection object itself

setDefault()

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

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

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

Parameters
$name : string

the name of the header

$value : string

the value of the header

Return values
$this —

the collection object itself

toArray()

Returns the collection as a PHP array.

public toArray() : array<string|int, mixed>
Return values
array<string|int, mixed> —

the array representation of the collection. The array keys are header names, and the array values are the corresponding header values.

toOriginalArray()

Returns the collection as a PHP array but instead of using normalized header names as keys (like [[toArray()]]) it uses original header names (case-sensitive).

public toOriginalArray() : array<string|int, mixed>
Tags
since
2.0.45
Return values
array<string|int, mixed> —

the array representation of the collection.


        
On this page

Search results