Documentation

QuoteProcessor
in package
implements DelimiterProcessorInterface

FinalYes

Table of Contents

Interfaces

DelimiterProcessorInterface
Interface for a delimiter processor

Properties

$closerCharacter  : string
$normalizedCharacter  : string
$openerCharacter  : string

Methods

createDoubleQuoteProcessor()  : self
Create a double-quote processor
createSingleQuoteProcessor()  : self
Create a single-quote processor
getClosingCharacter()  : string
Returns the character that marks the ending of a delimited node.
getDelimiterUse()  : int
Determine how many (if any) of the delimiter characters should be used.
getMinLength()  : int
Minimum number of delimiter characters that are needed to active this.
getOpeningCharacter()  : string
Returns the character that marks the beginning of a delimited node.
process()  : void
Process the matched delimiters, e.g. by wrapping the nodes between opener and closer in a new node, or appending a new node after the opener.
__construct()  : mixed

Properties

$closerCharacter

private string $closerCharacter
Tags
psalm-readonly

$normalizedCharacter

private string $normalizedCharacter
Tags
psalm-readonly

$openerCharacter

private string $openerCharacter
Tags
psalm-readonly

Methods

getClosingCharacter()

Returns the character that marks the ending of a delimited node.

public getClosingCharacter() : string

This must not clash with any other processors being added to the environment.

Note that for a symmetric delimiter such as "*", this is the same as the opening.

Return values
string

getDelimiterUse()

Determine how many (if any) of the delimiter characters should be used.

public getDelimiterUse(DelimiterInterface $opener, DelimiterInterface $closer) : int

This allows implementations to decide how many characters to be used based on the properties of the delimiter runs. An implementation can also return 0 when it doesn't want to allow this particular combination of delimiter runs.

IMPORTANT: Unless this method returns the same hard-coded value in all cases, you MUST implement the CacheableDelimiterProcessorInterface interface instead.

Parameters
$opener : DelimiterInterface

The opening delimiter run

$closer : DelimiterInterface

The closing delimiter run

Return values
int

getMinLength()

Minimum number of delimiter characters that are needed to active this.

public getMinLength() : int

Must be at least 1.

Return values
int

getOpeningCharacter()

Returns the character that marks the beginning of a delimited node.

public getOpeningCharacter() : string

This must not clash with any other processors being added to the environment.

Return values
string

process()

Process the matched delimiters, e.g. by wrapping the nodes between opener and closer in a new node, or appending a new node after the opener.

public process(AbstractStringContainer $opener, AbstractStringContainer $closer, int $delimiterUse) : void

Note that removal of the delimiter from the delimiter nodes and detaching them is done by the caller.

Parameters
$opener : AbstractStringContainer

The node that contained the opening delimiter

$closer : AbstractStringContainer

The node that contained the closing delimiter

$delimiterUse : int

The number of delimiters that were used

__construct()

private __construct(string $char, string $opener, string $closer) : mixed
Parameters
$char : string
$opener : string
$closer : string

        
On this page

Search results