Maintains a collection of headers for a part.
- author Zaahid Bateson
- Extends
- Children
- Implements
IteratorAggregate Traversable ZBateson \MailMimeParser \IErrorBag
Methods |
public __construct(Psr\Log\LoggerInterface $logger, ZBateson Pass a PartHeaderContainer as the second parameter. This is useful when creating a new MimePart with this PartHeaderContainer and the original container is needed for parsing and changes to the header in the part should not affect parsing.
|
public add(string $name, string $value) : static Adds the header to the collection. |
public exists(string $name, int $offset = 0) : bool Returns true if the passed header exists in this collection. |
public get(string $name, int $offset = 0) : ?ZBateson Returns the IHeader object for the header with the given $name, or null if none exist. An optional offset can be provided, which defaults to the first header in the collection when more than one header with the same name exists. Note that mime headers aren't case sensitive. |
public getAll(string $name) : array Returns all headers with the passed name.
|
public getAs(string $name, string $iHeaderClass, int $offset = 0) : ?ZBateson Returns the IHeader object for the header with the given $name, or null if none exist, using the passed $iHeaderClass to construct it. An optional offset can be provided, which defaults to the first header in the collection when more than one header with the same name exists. Note that mime headers aren't case sensitive. |
public getErrorBagChildren() : array |
public getHeaderObjects() : array Returns an array of IHeader objects representing all headers in this collection.
|
public getHeaders() : array Returns an array of headers in this collection. Each returned element in the array is an array with the first element set to the name, and the second its value: [ [ 'Header-Name', 'Header Value' ], [ 'Second-Header-Name', 'Second-Header-Value' ], // etc... ]
|
public getIterator() : Traversable Returns an iterator to the headers in this collection. Each returned element is an array with its first element set to the header's name, and the second to its value: [ 'Header-Name', 'Header Value' ] return Traversable<array> |
public remove(string $name, int $offset = 0) : bool Removes the header from the collection with the passed name. Defaults to removing the first instance of the header for a collection that contains more than one with the same passed name.
|
public removeAll(string $name) : bool Removes all headers that match the passed name.
|
public set(string $name, string $value, int $offset = 0) : static If a header exists with the passed name, and at the passed offset if more than one exists, its value is updated. If a header with the passed name doesn't exist at the passed offset, it is created at the next available offset (offset is ignored when adding). |
Properties |
protected $headerFactory = NULL
|
Methods |
Properties |
private $headerMap = []
|
private $headerObjects = []
|
private $headers = []
|
private $nextIndex = 0
|
Methods |
private getAllWithOriginalHeaderNameIfSet(string $name) : ?array Returns an array of header indexes with names that more closely match the passed $name if available: for instance if there are two headers in an email, "Content-Type" and "ContentType", and the query is for a header with the name "Content-Type", only headers that match exactly "Content-Type" would be returned.
|
private getByIndex(int $index) : ?ZBateson Returns the header in the headers array at the passed 0-based integer index or null if one doesn't exist. |
private getByIndexAs(int $index, string $iHeaderClass) : ?ZBateson Returns the header in the headers array at the passed 0-based integer index or null if one doesn't exist, using the passed $iHeaderClass to construct it. |