Copied!

Abstract base class representing a mime email's header.

The base class sets up the header's consumer for parsing, sets the name of the header, and calls the consumer to parse the header's value.

Abstract
Methods
public __construct(Psr\Log\LoggerInterface $logger, ZBateson\MailMimeParser\Header\Consumer\IConsumerService $consumerService, string $name, string $value)
 

Assigns the header's name and raw value, then calls parseHeaderValue to extract a parsed value.

  • param \IConsumerService $consumerService For parsing the value.
  • param string $name Name of the header.
  • param string $value Value of the header.
public __toString() : string
public ZBateson\MailMimeParser\ErrorBag::addError(string $message, string $psrLogLevel, ?Throwable $exception = NULL) : static
public static from(string $nameOrLine, ?string $value = NULL) : ZBateson\MailMimeParser\Header\IHeader
 

Parses the passed parameters into an IHeader object.

The type of returned IHeader is determined by the name of the header. See {@see \HeaderFactory::newInstance} for more details.

The required $nameOrLine parameter may contain either the name of a header to parse, or a full header line, e.g. From: email@example.com. If passing a full header line, the $value parameter must be set to null (the default).

Note that more specific types can be called on directly. For instance an AddressHeader may be created by calling AddressHeader::from() which will ignore the name of the header, and always return an AddressHeader, or by calling new AddressHeader('name', 'value') directly.

  • param string $nameOrLine The header's name or full header line.
  • param string|null $value The header's value, or null if passing a full header line to parse.
public ZBateson\MailMimeParser\ErrorBag::getAllErrors(bool $validate = false, string $minPsrLevel = 'error'Psr\Log\LogLevel::ERROR) : array
public getAllParts() : array
 
  • return \IHeaderPart[]
public getComments() : array
 
  • return string[]
public getErrorLoggingContextName() : string
public ZBateson\MailMimeParser\ErrorBag::getErrors(bool $validate = false, string $minPsrLevel = 'error'Psr\Log\LogLevel::ERROR) : array
public getName() : string
public getParts() : array
 
  • return \IHeaderPart[]
public getRawValue() : string
public getValue() : ?string
public ZBateson\MailMimeParser\ErrorBag::hasAnyErrors(bool $validate = false, string $minPsrLevel = 'error'Psr\Log\LogLevel::ERROR) : bool
public ZBateson\MailMimeParser\ErrorBag::hasErrors(bool $validate = false, string $minPsrLevel = 'error'Psr\Log\LogLevel::ERROR) : bool
Properties
protected array $allParts = []
 
  • var \IHeaderPart[] the header's parts (as returned from the consumer), including commentParts
protected Psr\Log\LoggerInterface ZBateson\MailMimeParser\ErrorBag::$logger
protected string $name
 
  • var string the name of the header
protected array $parts = []
 
  • var \IHeaderPart[] all parts not including CommentParts.
protected string $rawValue
 
  • var string the raw value
Methods
protected filterAndAssignToParts() : void
 

Filters $this->allParts into the parts required by $this->parts and assigns it.

The AbstractHeader::filterAndAssignToParts method filters out CommentParts.

protected getErrorBagChildren() : array
protected static getHeaderPartsFrom(string $nameOrLine, ?string $value = NULL) : array
 

Checks if the passed $value parameter is null, and if so tries to parse a header line from $nameOrLine splitting on first occurrence of a ':' character.

The returned array always contains two elements. The first being the name (or blank if a ':' char wasn't found and $value is null), and the second being the value.

  • return string[]
protected parseHeaderValue(ZBateson\MailMimeParser\Header\Consumer\IConsumerService $consumer, string $value) : void
 

Calls the consumer and assigns the parsed parts to member variables.

The default implementation assigns the returned value to $this->allParts and filters out comments from it, assigning the filtered array to $this->parts by calling filterAndAssignToParts.

protected validate() : void
Properties
private ?array $comments = NULL
 
  • var string[] array of comments, initialized on demand in getComments()
Methods
public static from(string $nameOrLine, ?string $value = NULL) : ZBateson\MailMimeParser\Header\IHeader
 

Parses the passed parameters into an IHeader object.

The type of returned IHeader is determined by the name of the header. See {@see \HeaderFactory::newInstance} for more details.

The required $nameOrLine parameter may contain either the name of a header to parse, or a full header line, e.g. From: email@example.com. If passing a full header line, the $value parameter must be set to null (the default).

Note that more specific types can be called on directly. For instance an AddressHeader may be created by calling AddressHeader::from() which will ignore the name of the header, and always return an AddressHeader, or by calling new AddressHeader('name', 'value') directly.

  • param string $nameOrLine The header's name or full header line.
  • param string|null $value The header's value, or null if passing a full header line to parse.
protected static getHeaderPartsFrom(string $nameOrLine, ?string $value = NULL) : array
 

Checks if the passed $value parameter is null, and if so tries to parse a header line from $nameOrLine splitting on first occurrence of a ':' character.

The returned array always contains two elements. The first being the name (or blank if a ':' char wasn't found and $value is null), and the second being the value.

  • return string[]
© 2024 Bruce Wells
Search Namespaces \ Classes
Configuration