Swift_Mime_Headers_ParameterizedHeader
extends Swift_Mime_Headers_UnstructuredHeader
in package
An abstract base MIME Header.
Tags
Table of Contents
- PHRASE_PATTERN = '(?:(?:(?:(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))*(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))|(?:(?:[ \t]*(?:\r\n))?[ \t])))?[a-zA-Z0-9!#\$%&'\*\+\-\/=\?\^_`\{\}\|~]+(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))*(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))|(?:(?:[ \t]*(?:\r\n))?[ \t])))?)|(?:(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))*(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))|(?:(?:[ \t]*(?:\r\n))?[ \t])))?"((?:(?:[ \t]*(?:\r\n))?[ \t])?(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21\x23-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])))*(?:(?:[ \t]*(?:\r\n))?[ \t])?"(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))*(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))|(?:(?:[ \t]*(?:\r\n))?[ \t])))?))+?)'
- TOKEN_REGEX = '(?:[\x21\x23-\x27\x2A\x2B\x2D\x2E\x30-\x39\x41-\x5A\x5E-\x7E]+)'
- RFC 2231's definition of a token.
- $cachedValue : string
- The value of this Header, cached.
- $charset : string
- The character set of the text in this Header.
- $encoder : Swift_Encoder
- The Encoder used to encode this Header.
- $lang : string
- The language used in this Header.
- $lineLength : int
- The maximum length of a line in the header.
- $name : string
- The name of this Header.
- $paramEncoder : Swift_Encoder
- The Encoder used to encode the parameters.
- $params : array<string|int, string>
- The parameters as an associative array.
- $value : string
- The value of this Header.
- __construct() : mixed
- Creates a new ParameterizedHeader with $name.
- __toString() : string
- Returns a string representation of this object.
- getCharset() : string
- Get the character set used in this Header.
- getEncoder() : Swift_Mime_HeaderEncoder
- Get the encoder used for encoding this Header.
- getFieldBody() : string
- Get the value of this header prepared for rendering.
- getFieldBodyModel() : string
- Get the model for the field body.
- getFieldName() : string
- Get the name of this header (e.g. charset).
- getFieldType() : int
- Get the type of Header that this instance represents.
- getLanguage() : string
- Get the language used in this Header.
- getMaxLineLength() : int
- Get the maximum permitted length of lines in this Header.
- getParameter() : string
- Get the value of $parameter.
- getParameters() : array<string|int, string>
- Returns an associative array of parameter names mapped to values.
- getValue() : string
- Get the (unencoded) value of this header.
- setCharset() : mixed
- Set the character set used in this Header.
- setEncoder() : mixed
- Set the encoder used for encoding the header.
- setFieldBodyModel() : mixed
- Set the model for the field body.
- setLanguage() : mixed
- Set the language used in this Header.
- setMaxLineLength() : mixed
- Set the maximum length of lines in the header (excluding EOL).
- setParameter() : mixed
- Set the value of $parameter.
- setParameters() : mixed
- Set an associative array of parameter names mapped to values.
- setValue() : mixed
- Set the (unencoded) value of this header.
- toString() : string
- Get this Header rendered as a RFC 2822 compliant string.
- clearCachedValueIf() : mixed
- Clear the cached value if $condition is met.
- createPhrase() : string
- Produces a compliant, formatted RFC 2822 'phrase' based on the string given.
- encodeWords() : string
- Encode needed word tokens within a string of input.
- generateTokenLines() : array<string|int, string>
- Generates tokens from the given string which include CRLF as individual tokens.
- getCachedValue() : string
- Get the value in the cache.
- getEncodableWordTokens() : array<string|int, string>
- Splits a string into tokens in blocks of words which can be encoded quickly.
- getTokenAsEncodedWord() : string
- Get a token as an encoded word for safe insertion into headers.
- setCachedValue() : mixed
- Set a value into the cache.
- setFieldName() : mixed
- Set the name of this Header field.
- tokenNeedsEncoding() : bool
- Test if a token needs to be encoded or not.
- toTokens() : array<string|int, mixed>
- Generate a list of all tokens in the final header.
- createParameter() : string
- Render a RFC 2047 compliant header parameter from the $name and $value.
- escapeSpecials() : string
- Escape special characters in a string (convert to quoted-pairs).
- getEndOfParameterValue() : string
- Returns the parameter value from the "=" and beyond.
- tokensToString() : string
- Takes an array of tokens which appear in the header and turns them into an RFC 2822 compliant string, adding FWSP where needed.
Constants
PHRASE_PATTERN
public
mixed
PHRASE_PATTERN
= '(?:(?:(?:(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))*(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))|(?:(?:[ \t]*(?:\r\n))?[ \t])))?[a-zA-Z0-9!#\$%&'\*\+\-\/=\?\^_`\{\}\|~]+(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))*(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))|(?:(?:[ \t]*(?:\r\n))?[ \t])))?)|(?:(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))*(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))|(?:(?:[ \t]*(?:\r\n))?[ \t])))?"((?:(?:[ \t]*(?:\r\n))?[ \t])?(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21\x23-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])))*(?:(?:[ \t]*(?:\r\n))?[ \t])?"(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))*(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))|(?:(?:[ \t]*(?:\r\n))?[ \t])))?))+?)'
TOKEN_REGEX
RFC 2231's definition of a token.
public
string
TOKEN_REGEX
= '(?:[\x21\x23-\x27\x2A\x2B\x2D\x2E\x30-\x39\x41-\x5A\x5E-\x7E]+)'
Properties
$cachedValue
The value of this Header, cached.
private
string
$cachedValue
=
ull
$charset
The character set of the text in this Header.
private
string
$charset
= 'utf-8'
$encoder
The Encoder used to encode this Header.
private
Swift_Encoder
$encoder
$lang
The language used in this Header.
private
string
$lang
$lineLength
The maximum length of a line in the header.
private
int
$lineLength
= 78
$name
The name of this Header.
private
string
$name
$paramEncoder
The Encoder used to encode the parameters.
private
Swift_Encoder
$paramEncoder
$params
The parameters as an associative array.
private
array<string|int, string>
$params
= []
$value
The value of this Header.
private
string
$value
Methods
__construct()
Creates a new ParameterizedHeader with $name.
public
__construct(string $name, Swift_Mime_HeaderEncoder $encoder[, Swift_Encoder $paramEncoder = null ]) : mixed
Parameters
- $name : string
- $encoder : Swift_Mime_HeaderEncoder
- $paramEncoder : Swift_Encoder = null
Return values
mixed —__toString()
Returns a string representation of this object.
public
__toString() : string
Tags
Return values
string —getCharset()
Get the character set used in this Header.
public
getCharset() : string
Return values
string —getEncoder()
Get the encoder used for encoding this Header.
public
getEncoder() : Swift_Mime_HeaderEncoder
Return values
Swift_Mime_HeaderEncoder —getFieldBody()
Get the value of this header prepared for rendering.
public
getFieldBody() : string
Return values
string —getFieldBodyModel()
Get the model for the field body.
public
getFieldBodyModel() : string
This method returns a string.
Return values
string —getFieldName()
Get the name of this header (e.g. charset).
public
getFieldName() : string
Return values
string —getFieldType()
Get the type of Header that this instance represents.
public
getFieldType() : int
Tags
Return values
int —getLanguage()
Get the language used in this Header.
public
getLanguage() : string
Return values
string —getMaxLineLength()
Get the maximum permitted length of lines in this Header.
public
getMaxLineLength() : int
Return values
int —getParameter()
Get the value of $parameter.
public
getParameter(string $parameter) : string
Parameters
- $parameter : string
Return values
string —getParameters()
Returns an associative array of parameter names mapped to values.
public
getParameters() : array<string|int, string>
Return values
array<string|int, string> —getValue()
Get the (unencoded) value of this header.
public
getValue() : string
Return values
string —setCharset()
Set the character set used in this Header.
public
setCharset(string $charset) : mixed
Parameters
- $charset : string
Return values
mixed —setEncoder()
Set the encoder used for encoding the header.
public
setEncoder(Swift_Mime_HeaderEncoder $encoder) : mixed
Parameters
- $encoder : Swift_Mime_HeaderEncoder
Return values
mixed —setFieldBodyModel()
Set the model for the field body.
public
setFieldBodyModel(string $model) : mixed
This method takes a string for the field value.
Parameters
- $model : string
Return values
mixed —setLanguage()
Set the language used in this Header.
public
setLanguage(string $lang) : mixed
For example, for US English, 'en-us'. This can be unspecified.
Parameters
- $lang : string
Return values
mixed —setMaxLineLength()
Set the maximum length of lines in the header (excluding EOL).
public
setMaxLineLength(int $lineLength) : mixed
Parameters
- $lineLength : int
Return values
mixed —setParameter()
Set the value of $parameter.
public
setParameter(string $parameter, string $value) : mixed
Parameters
- $parameter : string
- $value : string
Return values
mixed —setParameters()
Set an associative array of parameter names mapped to values.
public
setParameters(array<string|int, string> $parameters) : mixed
Parameters
- $parameters : array<string|int, string>
Return values
mixed —setValue()
Set the (unencoded) value of this header.
public
setValue(string $value) : mixed
Parameters
- $value : string
Return values
mixed —toString()
Get this Header rendered as a RFC 2822 compliant string.
public
toString() : string
Tags
Return values
string —clearCachedValueIf()
Clear the cached value if $condition is met.
protected
clearCachedValueIf(bool $condition) : mixed
Parameters
- $condition : bool
Return values
mixed —createPhrase()
Produces a compliant, formatted RFC 2822 'phrase' based on the string given.
protected
createPhrase(Swift_Mime_Header $header, string $string, string $charset[, Swift_Mime_HeaderEncoder $encoder = null ][, bool $shorten = false ]) : string
Parameters
- $header : Swift_Mime_Header
- $string : string
-
as displayed
- $charset : string
-
of the text
- $encoder : Swift_Mime_HeaderEncoder = null
- $shorten : bool = false
-
the first line to make remove for header name
Return values
string —encodeWords()
Encode needed word tokens within a string of input.
protected
encodeWords(Swift_Mime_Header $header, string $input[, string $usedLength = -1 ]) : string
Parameters
- $header : Swift_Mime_Header
- $input : string
- $usedLength : string = -1
-
optional
Return values
string —generateTokenLines()
Generates tokens from the given string which include CRLF as individual tokens.
protected
generateTokenLines(string $token) : array<string|int, string>
Parameters
- $token : string
Return values
array<string|int, string> —getCachedValue()
Get the value in the cache.
protected
getCachedValue() : string
Return values
string —getEncodableWordTokens()
Splits a string into tokens in blocks of words which can be encoded quickly.
protected
getEncodableWordTokens(string $string) : array<string|int, string>
Parameters
- $string : string
Return values
array<string|int, string> —getTokenAsEncodedWord()
Get a token as an encoded word for safe insertion into headers.
protected
getTokenAsEncodedWord(string $token, int $firstLineOffset) : string
Parameters
- $token : string
-
token to encode
- $firstLineOffset : int
-
optional
Return values
string —setCachedValue()
Set a value into the cache.
protected
setCachedValue(string $value) : mixed
Parameters
- $value : string
Return values
mixed —setFieldName()
Set the name of this Header field.
protected
setFieldName(string $name) : mixed
Parameters
- $name : string
Return values
mixed —tokenNeedsEncoding()
Test if a token needs to be encoded or not.
protected
tokenNeedsEncoding(string $token) : bool
Parameters
- $token : string
Return values
bool —toTokens()
Generate a list of all tokens in the final header.
protected
toTokens([string $string = null ]) : array<string|int, mixed>
This doesn't need to be overridden in theory, but it is for implementation reasons to prevent potential breakage of attributes.
Parameters
- $string : string = null
-
The string to tokenize
Return values
array<string|int, mixed> —An array of tokens as strings
createParameter()
Render a RFC 2047 compliant header parameter from the $name and $value.
private
createParameter(string $name, string $value) : string
Parameters
- $name : string
- $value : string
Return values
string —escapeSpecials()
Escape special characters in a string (convert to quoted-pairs).
private
escapeSpecials(string $token[, array<string|int, string> $include = [] ]) : string
Parameters
- $token : string
- $include : array<string|int, string> = []
-
additional chars to escape
Return values
string —getEndOfParameterValue()
Returns the parameter value from the "=" and beyond.
private
getEndOfParameterValue(string $value[, bool $encoded = false ][, bool $firstLine = false ]) : string
Parameters
- $value : string
-
to append
- $encoded : bool = false
- $firstLine : bool = false
Return values
string —tokensToString()
Takes an array of tokens which appear in the header and turns them into an RFC 2822 compliant string, adding FWSP where needed.
private
tokensToString(array<string|int, string> $tokens) : string
Parameters
- $tokens : array<string|int, string>