Copied!

Holds generic/all purpose information about a part while it's being parsed.

The class holds:

  • a HeaderContainer to hold headers
  • stream positions (part start/end positions, content start/end)
  • the message's psr7 stream and a resource handle created from it (held only for a top-level PartBuilder representing the message, child PartBuilders do not duplicate/hold a separate stream).

More specific information a parser needs to keep about a message as it's parsing it should be stored in its ParserPartProxy.

CloneableInstantiable
Methods
public __construct(ZBateson\MailMimeParser\Message\PartHeaderContainer $headerContainer, ?Psr\Http\Message\StreamInterface $messageStream = NULL, ?ZBateson\MailMimeParser\Parser\Proxy\ParserPartProxy $parent = NULL)
public __destruct()
public getHeaderContainer()
 

Returns this part's PartHeaderContainer.

  • return \PartHeaderContainer the container
public getMessageResourceHandle()
 

Returns the resource handle for a the message's stream, getting it from the parent part if this is a child part.

  • return resource
public getMessageResourceHandlePos() : int
 

Shortcut for calling ftell($partBuilder->getMessageResourceHandle()).

public getParent()
 

The ParserPartProxy parent of this PartBuilder.

  • return \ParserPartProxy
public getStream()
 

Returns the raw message StreamInterface for a message, getting it from the parent part if this is a child part.

  • return \StreamInterface
public getStreamContentLength() : int
 

Returns the length of this part's content stream.

This method does not perform checks on whether the start pos and end pos of this part's content have been set, and so could cause errors if called before being set and are still null.

public getStreamContentStartPos() : ?int
 

Returns the byte offset start position of the content of this part within the main raw message stream, or null if not set.

public getStreamPartLength() : int
 

Returns the number of raw bytes this part has.

This method does not perform checks on whether the start pos and end pos of this part have been set, and so could cause errors if called before being set and are still null.

public getStreamPartStartPos() : ?int
 

Returns the byte offset start position for this part within the message stream if it's been set, or null otherwise.

public isContentParsed() : ?bool
 

Returns true if the byte offset positions for this part's content have been set.

  • return ?bool true if set.
public isMime() : bool
 

Returns true if this part, or any parent, have a Content-Type or MIME-Version header set.

  • return bool true if it's a mime message or child of a mime message.
public setStreamContentStartPos(int $streamContentStartPos)
 

Sets the byte offset start position of the content in the raw message stream.

  • return static
public setStreamPartAndContentEndPos(int $streamContentEndPos)
 

Sets the byte offset end position of the content and part in the raw message stream.

  • return static
public setStreamPartEndPos(int $streamPartEndPos)
 

Sets the byte offset end position of the part in the raw message stream, and also calls its parent's setParentStreamPartEndPos to expand to parent PartBuilders.

  • return static
public setStreamPartStartPos(int $streamPartStartPos)
 

Sets the byte offset start position of the part in the raw message stream.

  • return static
Properties
private $headerContainer = NULL
 
  • var \PartHeaderContainer The parsed part's headers.
private $messageHandle = NULL
 
  • var resource the raw message input stream handle constructed from $messageStream or null for a child part
private $messageStream = NULL
 
  • var \StreamInterface the raw message input stream for a message, or null for a child part.
private $parent = NULL
 
  • var \ParserPartProxy The parent ParserPartProxy.
private $streamContentEndPos = NULL
 
  • var int The offset read end position in the message's stream for the end of this part's content (body).
private $streamContentStartPos = NULL
 
  • var int The offset read start position in the message's stream for the beginning of this part's content (body).
private $streamPartEndPos = NULL
 
  • var int The offset read end position for this part. If the part is a multipart mime part, the end position is after all of this parts children.
private $streamPartStartPos = NULL
 
  • var int The offset read start position for this part (beginning of headers) in the message's stream.
© 2024 Bruce Wells
Search Namespaces \ Classes
Configuration