abstract class AbstractTagBasedViewHelper extends AbstractViewHelper (View source)

Tag based view helper.

Should be used as the base class for all view helpers which output simple tags, as it provides some convenience methods to register default attributes, ...

Properties

protected RenderingContextInterface $renderingContext from  AbstractViewHelper
protected ControllerContext $controllerContext

Controller Context to use

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

Disable escaping of tag based ViewHelpers so that the rendered tag is not htmlspecialchar'd

protected TagBuilder $tag

Tag builder instance

protected string $tagName

Name of the tag to be created by this view helper

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.

__construct()

Constructor

void
injectTagBuilder(TagBuilder $tag)

No description

void
initialize()

Sets the tag name to $this->tagName.

void
registerTagAttribute(string $name, string $type, string $description, bool $required = false, mixed $defaultValue = null)

Register a new tag attribute. Tag attributes are all arguments which will be directly appended to a tag if you call $this->initializeTag()

void
registerUniversalTagAttributes()

Registers all standard HTML universal attributes.

void
handleAdditionalArguments(array $arguments)

Handles additional arguments, sorting out any data- prefixed tag attributes and assigning them. Then passes the unassigned arguments to the parent class' method, which in the default implementation will throw an error about "undeclared argument used".

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

bool isEscapingInterceptorEnabled()

No description

Return Value

bool

__construct()

Constructor

void injectTagBuilder(TagBuilder $tag)

No description

Parameters

TagBuilder $tag

Return Value

void

void initialize()

Sets the tag name to $this->tagName.

Additionally, sets all tag attributes which were registered in $this->tagAttributes and additionalArguments.

Will be invoked just before the render method.

Return Value

void

protected void registerTagAttribute(string $name, string $type, string $description, bool $required = false, mixed $defaultValue = null)

Register a new tag attribute. Tag attributes are all arguments which will be directly appended to a tag if you call $this->initializeTag()

Parameters

string $name

Name of tag attribute

string $type

Type of the tag attribute

string $description

Description of tag attribute

bool $required

set to true if tag attribute is required. Defaults to false.

mixed $defaultValue

Optional, default value of attribute if one applies

Return Value

void

protected void registerUniversalTagAttributes()

Registers all standard HTML universal attributes.

Should be used inside registerArguments();

Return Value

void

void handleAdditionalArguments(array $arguments)

Handles additional arguments, sorting out any data- prefixed tag attributes and assigning them. Then passes the unassigned arguments to the parent class' method, which in the default implementation will throw an error about "undeclared argument used".

Parameters

array $arguments

Return Value

void