AbstractFormElement extends AbstractRenderable implements FormElementInterface

AbstractYes

A base form element, which is the starting point for creating custom (PHP-based) Form Elements.

A FormElement is a part of a Page, which in turn is part of a FormDefinition. See for an in-depth explanation.

Subclassing this class is a good starting-point for implementing custom PHP-based Form Elements.

Most of the functionality and API is implemented in , so make sure to check out this class as well.

Still, it is quite rare that you need to subclass this class; often you can just use the and replace some templates.

Scope: frontend This class is meant to be sub classed by developers.

Table of Contents

Interfaces

FormElementInterface
A base form element interface, which can be the starting point for creating custom (PHP-based) Form Elements.

Properties

$identifier  : string
The identifier of this renderable
$index  : int
The position of this renderable inside the parent renderable.
$label  : string
The label of this renderable
$parentRenderable  : CompositeRenderableInterface|null
The parent renderable
$properties  : array<string|int, mixed>
$renderingOptions  : array<string|int, mixed>
associative array of rendering options
$request  : ServerRequestInterface|null
$templateName  : string
The name of the template file of the renderable.
$type  : string
Abstract "type" of this Renderable. Is used during the rendering process to determine the template file or the View PHP class being used to render the particular element.
$validatorResolver  : ValidatorResolver|null
$variants  : array<string|int, mixed>
associative array of rendering variants

Methods

__construct()  : mixed
Constructor. Needs this FormElement's identifier and the FormElement type
addValidator()  : mixed
Add a validator to the element.
addVariant()  : mixed
Adds the specified variant to this form element
applyVariant()  : mixed
Apply the specified variant to this form element regardless of their conditions
createValidator()  : ValidatorInterface|null
Create a validator for the element.
createVariant()  : RenderableVariantInterface
getDefaultValue()  : mixed
Get the default value of the element
getIdentifier()  : string
Get the identifier of the element
getIndex()  : int
Get the index of the renderable
getLabel()  : string
Get the label of the renderable
getParentRenderable()  : CompositeRenderableInterface|null
Get the parent renderable
getProperties()  : array<string|int, mixed>
Get all properties
getRendererClassName()  : string
Get the classname of the renderer
getRenderingOptions()  : array<string|int, mixed>
Get all rendering options
getRequest()  : ServerRequestInterface|null
getRootForm()  : FormDefinition
Get the root form this element belongs to
getTemplateName()  : string
Get the templateName name of the renderable
getType()  : string
Get the type of the renderable
getUniqueIdentifier()  : string
Get the global unique identifier of the element
getValidators()  : SplObjectStorage
Get all validators on the element
getVariants()  : array<string|int, RenderableVariantInterface>
Get all rendering variants
initializeFormElement()  : mixed
Override this method in your custom FormElements if needed
isEnabled()  : bool
Returns whether this renderable is enabled
isRequired()  : bool
Check if the element is required
onRemoveFromParentRenderable()  : mixed
Triggered when the renderable is removed from it's parent
registerInFormIfPossible()  : mixed
Register this element at the parent form, if there is a connection to the parent form.
setDataType()  : mixed
Set the datatype
setDefaultValue()  : mixed
Set the default value of the element
setIdentifier()  : mixed
Set the identifier of the element
setIndex()  : mixed
Set the index of the renderable
setLabel()  : mixed
Set the label which shall be displayed next to the form element
setOptions()  : mixed
Set multiple properties of this object at once.
setParentRenderable()  : mixed
Set the parent renderable
setProperty()  : mixed
Set a property of the element
setRenderingOption()  : mixed
Set the rendering option $key to $value.
setRequest()  : void

Properties

$identifier

The identifier of this renderable

protected string $identifier

$index

The position of this renderable inside the parent renderable.

protected int $index = 0

$label

The label of this renderable

protected string $label = ''

$properties

protected array<string|int, mixed> $properties = []

$renderingOptions

associative array of rendering options

protected array<string|int, mixed> $renderingOptions = []

$request

protected ServerRequestInterface|null $request = null

$templateName

The name of the template file of the renderable.

protected string $templateName = ''

$type

Abstract "type" of this Renderable. Is used during the rendering process to determine the template file or the View PHP class being used to render the particular element.

protected string $type

$variants

associative array of rendering variants

protected array<string|int, mixed> $variants = []

Methods

__construct()

Constructor. Needs this FormElement's identifier and the FormElement type

public __construct(string $identifier, string $type) : mixed
Parameters
$identifier : string

The FormElement's identifier

$type : string

The Form Element Type

Tags
throws
IdentifierNotValidException

getDefaultValue()

Get the default value of the element

public getDefaultValue() : mixed

getIdentifier()

Get the identifier of the element

public getIdentifier() : string
Return values
string

getIndex()

Get the index of the renderable

public getIndex() : int
Internal
Return values
int

getLabel()

Get the label of the renderable

public getLabel() : string
Return values
string

getProperties()

Get all properties

public getProperties() : array<string|int, mixed>
Return values
array<string|int, mixed>

getRendererClassName()

Get the classname of the renderer

public getRendererClassName() : string
Return values
string

the renderer class name

getRenderingOptions()

Get all rendering options

public getRenderingOptions() : array<string|int, mixed>
Return values
array<string|int, mixed>

associative array of rendering options

getRequest()

public getRequest() : ServerRequestInterface|null
Return values
ServerRequestInterface|null

getTemplateName()

Get the templateName name of the renderable

public getTemplateName() : string
Return values
string

getType()

Get the type of the renderable

public getType() : string
Return values
string

getUniqueIdentifier()

Get the global unique identifier of the element

public getUniqueIdentifier() : string
Return values
string

the "globally" unique identifier of this element

getValidators()

Get all validators on the element

public getValidators() : SplObjectStorage
Internal
Return values
SplObjectStorage

initializeFormElement()

Override this method in your custom FormElements if needed

public initializeFormElement() : mixed

isEnabled()

Returns whether this renderable is enabled

public isEnabled() : bool
Return values
bool

isRequired()

Check if the element is required

public isRequired() : bool
Return values
bool

onRemoveFromParentRenderable()

Triggered when the renderable is removed from it's parent

public onRemoveFromParentRenderable() : mixed
Internal

registerInFormIfPossible()

Register this element at the parent form, if there is a connection to the parent form.

public registerInFormIfPossible() : mixed
Internal

setDataType()

Set the datatype

public setDataType(string $dataType) : mixed
Parameters
$dataType : string

setDefaultValue()

Set the default value of the element

public setDefaultValue(mixed $defaultValue) : mixed
Parameters
$defaultValue : mixed

setIdentifier()

Set the identifier of the element

public setIdentifier(string $identifier) : mixed
Parameters
$identifier : string

setIndex()

Set the index of the renderable

public setIndex(int $index) : mixed
Parameters
$index : int
Internal

setLabel()

Set the label which shall be displayed next to the form element

public setLabel(string $label) : mixed
Parameters
$label : string

setOptions()

Set multiple properties of this object at once.

public setOptions(array<string|int, mixed> $options[, bool $resetValidators = false ]) : mixed

Every property which has a corresponding set* method can be set using the passed $options array.

Parameters
$options : array<string|int, mixed>
$resetValidators : bool = false

setProperty()

Set a property of the element

public setProperty(string $key, mixed $value) : mixed
Parameters
$key : string
$value : mixed

setRenderingOption()

Set the rendering option $key to $value.

public setRenderingOption(string $key, mixed $value) : mixed
Parameters
$key : string
$value : mixed

setRequest()

public setRequest(ServerRequestInterface|null $request) : void
Parameters
$request : ServerRequestInterface|null

        
On this page

Search results