abstract class AbstractConditionViewHelper extends AbstractViewHelper (View source)

This view helper is an abstract ViewHelper which implements an if/else condition.

Properties

protected ControllerContext $controllerContext

Controller Context to use

from  AbstractViewHelper
protected ObjectManagerInterface $objectManager from  AbstractViewHelper
protected LoggerInterface $logger from  AbstractViewHelper
protected bool $escapeOutput

Methods

void
setRenderingContext(RenderingContextInterface $renderingContext)

No description

void
injectObjectManager(ObjectManagerInterface $objectManager)

No description

void
injectLogger(LoggerInterface $logger)

Injects the (system) logger based on PSR-3.

AbstractViewHelper
registerArgument(string $name, string $type, string $description, bool $required = false, mixed $defaultValue = null, bool|null $escape = null)

Register a new argument. Call this method from your ViewHelper subclass inside the initializeArguments() method.

AbstractViewHelper
overrideArgument(string $name, string $type, string $description, bool $required = false, mixed $defaultValue = null, bool|null $escape = null)

Overrides a registered argument. Call this method from your ViewHelper subclass inside the initializeArguments() method if you want to override a previously registered argument.

initializeArguments()

Initializes the "then" and "else" arguments

static bool
evaluateCondition(array|null $arguments = null, RenderingContextInterface $renderingContext)

Static method which can be overridden by subclasses. If a subclass requires a different (or faster) decision then this method is the one to override and implement.

static mixed
renderStatic(array $arguments, Closure $renderChildrenClosure, RenderingContextInterface $renderingContext)

No description

static string
evaluateElseClosures(array $closures, array $conditionClosures, RenderingContextInterface $renderingContext)

No description

mixed
renderThenChild()

Returns value of "then" attribute.

string
renderElseChild()

Returns value of "else" attribute.

string
compile(string $argumentsName, string $closureName, string $initializationPhpCode, ViewHelperNode $node, TemplateCompiler $compiler)

The compiled ViewHelper adds two new ViewHelper arguments: thenClosure and elseClosure.

static string
renderResult(bool $isConditionFullfilled, array $arguments, RenderingContextInterface $renderingContext)

No description

Details

void setRenderingContext(RenderingContextInterface $renderingContext)

No description

Parameters

RenderingContextInterface $renderingContext

Return Value

void

void injectObjectManager(ObjectManagerInterface $objectManager)

No description

Parameters

ObjectManagerInterface $objectManager

Return Value

void

void injectLogger(LoggerInterface $logger)

Injects the (system) logger based on PSR-3.

Parameters

LoggerInterface $logger

Return Value

void

protected AbstractViewHelper registerArgument(string $name, string $type, string $description, bool $required = false, mixed $defaultValue = null, bool|null $escape = null)

Register a new argument. Call this method from your ViewHelper subclass inside the initializeArguments() method.

This exists only to throw our own exception!

Parameters

string $name

Name of the argument

string $type

Type of the argument

string $description

Description of the argument

bool $required

If true, argument is required. Defaults to false.

mixed $defaultValue

Default value of argument

bool|null $escape

Can be toggled to TRUE to force escaping of variables and inline syntax passed as argument value.

Return Value

AbstractViewHelper

$this, to allow chaining.

Exceptions

Exception

protected AbstractViewHelper overrideArgument(string $name, string $type, string $description, bool $required = false, mixed $defaultValue = null, bool|null $escape = null)

Overrides a registered argument. Call this method from your ViewHelper subclass inside the initializeArguments() method if you want to override a previously registered argument.

This exists only to throw our own exception!

Parameters

string $name

Name of the argument

string $type

Type of the argument

string $description

Description of the argument

bool $required

If true, argument is required. Defaults to false.

mixed $defaultValue

Default value of argument

bool|null $escape

Can be toggled to TRUE to force escaping of variables and inline syntax passed as argument value.

Return Value

AbstractViewHelper

$this, to allow chaining.

Exceptions

Exception

See also

registerArgument()

bool isEscapingInterceptorEnabled()

No description

Return Value

bool

initializeArguments()

Initializes the "then" and "else" arguments

static protected bool evaluateCondition(array|null $arguments = null, RenderingContextInterface $renderingContext)

Static method which can be overridden by subclasses. If a subclass requires a different (or faster) decision then this method is the one to override and implement.

Note: method signature does not type-hint that an array is desired, and as such, appears to accept any input type. There is no type hint here for legacy reasons - the signature is kept compatible with third party packages which depending on PHP version would error out if this signature was not compatible with that of existing and in-production subclasses that will be using this base class in the future. Let this be a warning if someone considers changing this method signature!

Parameters

array|null $arguments
RenderingContextInterface $renderingContext

Return Value

bool

static mixed renderStatic(array $arguments, Closure $renderChildrenClosure, RenderingContextInterface $renderingContext)

No description

Parameters

array $arguments
Closure $renderChildrenClosure
RenderingContextInterface $renderingContext

Return Value

mixed

static protected string evaluateElseClosures(array $closures, array $conditionClosures, RenderingContextInterface $renderingContext)

No description

Parameters

array $closures
array $conditionClosures
RenderingContextInterface $renderingContext

Return Value

string

protected mixed renderThenChild()

Returns value of "then" attribute.

If then attribute is not set, iterates through child nodes and renders ThenViewHelper. If then attribute is not set and no ThenViewHelper and no ElseViewHelper is found, all child nodes are rendered

Return Value

mixed

rendered ThenViewHelper or contents of if no ThenViewHelper was found

protected string renderElseChild()

Returns value of "else" attribute.

If else attribute is not set, iterates through child nodes and renders ElseViewHelper. If else attribute is not set and no ElseViewHelper is found, an empty string will be returned.

Return Value

string

rendered ElseViewHelper or an empty string if no ThenViewHelper was found

string compile(string $argumentsName, string $closureName, string $initializationPhpCode, ViewHelperNode $node, TemplateCompiler $compiler)

The compiled ViewHelper adds two new ViewHelper arguments: thenClosure and elseClosure.

These contain closures which are be executed to render the then(), respectively else() case.

Parameters

string $argumentsName
string $closureName
string $initializationPhpCode
ViewHelperNode $node
TemplateCompiler $compiler

Return Value

string

static protected string renderResult(bool $isConditionFullfilled, array $arguments, RenderingContextInterface $renderingContext)

No description

Parameters

bool $isConditionFullfilled
array $arguments
RenderingContextInterface $renderingContext

Return Value

string