‪TYPO3CMS  10.4
TYPO3\CMS\Form\Domain\Model\FormDefinition Class Reference
Inheritance diagram for TYPO3\CMS\Form\Domain\Model\FormDefinition:
TYPO3\CMS\Form\Domain\Model\Renderable\AbstractCompositeRenderable TYPO3\CMS\Form\Domain\Model\Renderable\VariableRenderableInterface TYPO3\CMS\Form\Domain\Model\Renderable\AbstractRenderable TYPO3\CMS\Form\Domain\Model\Renderable\CompositeRenderableInterface TYPO3\CMS\Form\Domain\Model\Renderable\RenderableInterface TYPO3\CMS\Form\Domain\Model\Renderable\VariableRenderableInterface TYPO3\CMS\Form\Domain\Model\Renderable\RenderableInterface TYPO3\CMS\Form\Domain\Model\Renderable\RootRenderableInterface TYPO3\CMS\Form\Domain\Model\Renderable\RootRenderableInterface

Public Member Functions

 injectObjectManager (ObjectManagerInterface $objectManager)
 
 __construct (string $identifier, array $prototypeConfiguration=[], string $type='Form', string $persistenceIdentifier=null)
 
 setOptions (array $options, bool $resetFinishers=false)
 
Page createPage (string $identifier, string $typeName='Page')
 
 addPage (Page $page)
 
array Page[] getPages ()
 
bool hasPageWithIndex (int $index)
 
Page getPageByIndex (int $index)
 
 addFinisher (FinisherInterface $finisher)
 
FinisherInterface createFinisher (string $finisherIdentifier, array $options=[])
 
TYPO3 CMS Form Domain Finishers FinisherInterface[] getFinishers ()
 
 registerRenderable (RenderableInterface $renderable)
 
 unregisterRenderable (RenderableInterface $renderable)
 
FormElementInterface[] getElements ()
 
FormElementInterface getElementByIdentifier (string $elementIdentifier)
 
 addElementDefaultValue (string $elementIdentifier, $defaultValue)
 
mixed getElementDefaultValueByIdentifier (string $elementIdentifier)
 
 movePageBefore (Page $pageToMove, Page $referencePage)
 
 movePageAfter (Page $pageToMove, Page $referencePage)
 
 removePage (Page $pageToRemove)
 
FormRuntime bind (Request $request, Response $response)
 
ProcessingRule getProcessingRule (string $propertyPath)
 
TYPO3 CMS Form Mvc ProcessingRule[] getProcessingRules ()
 
array getTypeDefinitions ()
 
array getValidatorsDefinition ()
 
array getConditionContextDefinition ()
 
string getPersistenceIdentifier ()
 
 setRendererClassName (string $rendererClassName)
 
string getRendererClassName ()
 
- ‪Public Member Functions inherited from ‪TYPO3\CMS\Form\Domain\Model\Renderable\AbstractCompositeRenderable
RenderableInterface[] getRenderablesRecursively ()
 
 registerInFormIfPossible ()
 
 onRemoveFromParentRenderable ()
 
- ‪Public Member Functions inherited from ‪TYPO3\CMS\Form\Domain\Model\Renderable\AbstractRenderable
string getType ()
 
string getIdentifier ()
 
 setIdentifier (string $identifier)
 
mixed createValidator (string $validatorIdentifier, array $options=[])
 
 addValidator (ValidatorInterface $validator)
 
SplObjectStorage getValidators ()
 
 setDataType (string $dataType)
 
array getRenderingOptions ()
 
mixed setRenderingOption (string $key, $value)
 
CompositeRenderableInterface null getParentRenderable ()
 
 setParentRenderable (CompositeRenderableInterface $parentRenderable)
 
FormDefinition getRootForm ()
 
int getIndex ()
 
 setIndex (int $index)
 
string getLabel ()
 
 setLabel (string $label)
 
 setDefaultValue ($defaultValue)
 
 setProperty (string $key, $value)
 
string getTemplateName ()
 
bool isEnabled ()
 
RenderableVariantInterface[] getVariants ()
 
RenderableVariantInterface createVariant (array $options)
 
 addVariant (RenderableVariantInterface $variant)
 
 applyVariant (RenderableVariantInterface $variant)
 

Protected Member Functions

 initializeFromFormDefaults ()
 
- ‪Protected Member Functions inherited from ‪TYPO3\CMS\Form\Domain\Model\Renderable\AbstractCompositeRenderable
 addRenderable (RenderableInterface $renderable)
 
 moveRenderableBefore (RenderableInterface $renderableToMove, RenderableInterface $referenceRenderable)
 
 moveRenderableAfter (RenderableInterface $renderableToMove, RenderableInterface $referenceRenderable)
 
 removeRenderable (RenderableInterface $renderableToRemove)
 

Protected Attributes

TYPO3 CMS Extbase Object ObjectManagerInterface $objectManager
 
TYPO3 CMS Form Domain Finishers FinisherInterface[] $finishers = array( )
 
TYPO3 CMS Form Mvc ProcessingRule[] $processingRules = array( )
 
TYPO3 CMS Form Domain Model FormElements FormElementInterface[] $elementsByIdentifier = array( )
 
array $elementDefaultValues = array( )
 
string $rendererClassName = ''
 
array $typeDefinitions
 
array $validatorsDefinition
 
array $finishersDefinition
 
array $conditionContextDefinition
 
string $persistenceIdentifier
 
- ‪Protected Attributes inherited from ‪TYPO3\CMS\Form\Domain\Model\Renderable\AbstractCompositeRenderable
TYPO3 CMS Form Domain Model Renderable RenderableInterface[] $renderables = array( )
 
- ‪Protected Attributes inherited from ‪TYPO3\CMS\Form\Domain\Model\Renderable\AbstractRenderable
string $type
 
string $identifier
 
CompositeRenderableInterface $parentRenderable
 
string $label = ''
 
array $renderingOptions = array( )
 
int $index = 0
 
string $templateName = ''
 
array $variants = array( )
 

Detailed Description

This class encapsulates a complete Form Definition, with all of its pages, form elements, validation rules which apply and finishers which should be executed when the form is completely filled in.

It is not modified when the form executes.

The Anatomy Of A Form

A FormDefinition consists of multiple Page (Page) objects. When a form is displayed to the user, only one Page is visible at any given time, and there is a navigation to go back and forth between the pages.

A Page consists of multiple FormElements (FormElementInterface, AbstractFormElement), which represent the input fields, textareas, checkboxes shown inside the page.

FormDefinition, Page and FormElement have identifier properties, which must be unique for each given type (i.e. it is allowed that the FormDefinition and a FormElement have the same identifier, but two FormElements are not allowed to have the same identifier.

Simple Example

Generally, you can create a FormDefinition manually by just calling the API methods on it, or you use a Form Definition Factory to build the form from another representation format such as YAML.

/—code php $formDefinition = $this->objectManager->get(FormDefinition::class, 'myForm');

$page1 = $this->objectManager->get(Page::class, 'page1'); $formDefinition->addPage($page);

$element1 = $this->objectManager->get(GenericFormElement::class, 'title', 'Textfield'); # the second argument is the type of the form element $page1->addElement($element1); ---

Creating a Form, Using Abstract Form Element Types

While you can use the FormDefinition::addPage or Page::addElement methods and create the Page and FormElement objects manually, it is often better to use the corresponding create* methods (FormDefinition::createPage and Page::createElement), as you pass them an abstract Form Element Type such as Text or Page, and the system automatically resolves the implementation class name and sets default values.

So the simple example from above should be rewritten as follows:

/—code php $prototypeConfiguration = []; // We'll talk about this later

$formDefinition = $this->objectManager->get(FormDefinition::class, 'myForm', $prototypeConfiguration); $page1 = $formDefinition->createPage('page1'); $element1 = $page1->addElement('title', 'Textfield'); ---

Now, you might wonder how the system knows that the element Textfield is implemented using a GenericFormElement: This is configured in the $prototypeConfiguration.

To make the example from above actually work, we need to add some sensible values to $prototypeConfiguration:

$prototypeConfiguration = [
  'formElementsDefinition' => [
    'Page' => [
      'implementationClassName' => 'TYPO3\CMS\Form\Domain\Model\FormElements\Page'
    ],
    'Textfield' => [
      'implementationClassName' => 'TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement'
    ]
  ]
]

For each abstract Form Element Type we add some configuration; in the above case only the implementation class name. Still, it is possible to set defaults for all configuration options of such an element, as the following example shows:

$prototypeConfiguration = [
  'formElementsDefinition' => [
    'Page' => [
      'implementationClassName' => 'TYPO3\CMS\Form\Domain\Model\FormElements\Page',
      'label' => 'this is the label of the page if nothing is specified'
    ],
    'Textfield' => [
      'implementationClassName' => 'TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement',
      'label' = >'Default Label',
      'defaultValue' => 'Default form element value',
      'properties' => [
        'placeholder' => 'Text which is shown if element is empty'
      ]
    ]
  ]
]

U

sing Preconfigured $prototypeConfiguration

Often, it is not really useful to manually create the $prototypeConfiguration array.

Most of it comes pre-configured inside the YAML settings of the extensions, and the \TYPO3\CMS\Form\Domain\Configuration\ConfigurationService contains helper methods which return the ready-to-use $prototypeConfiguration.

Property Mapping and Validation Rules

Besides Pages and FormElements, the FormDefinition can contain information about the format of the data which is inputted into the form. This generally means:

  • ‪expected Data Types
  • ‪Property Mapping Configuration to be used
  • ‪Validation Rules which should apply

Background Info

You might wonder why Data Types and Validation Rules are not attached to each FormElement itself.

If the form should create a hierarchical output structure such as a multi- dimensional array or a PHP object, your expected data structure might look as follows:

  • ‪person -- firstName -- lastName -- address --- street --- city
Now, let's imagine you want to edit person.address.street and person.address.city,
but want to validate that the combination of street and city is valid
according to some address database.
In this case, the form elements would be configured to fill street and city,
but the validator needs to be attached to the compound object address,
as both parts need to be validated together.

Connecting FormElements to the output data structure

The identifier of the FormElement is most important, as it determines
where in the output structure the value which is entered by the user is placed,
and thus also determines which validation rules need to apply.
Using the above example, if you want to create a FormElement for the street,
you should use the identifier person.address.street.

Rendering a FormDefinition

In order to trigger rendering on a FormDefinition,
the current \TYPO3\CMS\Extbase\Mvc\Web\Request needs to be bound to the FormDefinition,
resulting in a \TYPO3\CMS\Form\Domain\Runtime\FormRuntime object which contains the Runtime State of the form
(such as the currently inserted values).
/—code php

$currentRequest and $currentResponse need to be available, f.e. inside a controller you would

use $this->request and $this->response; inside a ViewHelper you would use $this->controllerContext->getRequest()

and $this->controllerContext->getResponse()

$form = $formDefinition->bind($currentRequest, $currentResponse);

now, you can use the $form object to get information about the currently

entered values into the form, etc.

---
Refer to the \TYPO3\CMS\Form\Domain\Runtime\FormRuntime API doc for further information.
Scope: frontend
This class is NOT meant to be sub classed by developers.

Definition at line 222 of file FormDefinition.php.

Constructor & Destructor Documentation

◆ __construct()

TYPO3\CMS\Form\Domain\Model\FormDefinition::__construct ( string  $identifier,
array  $prototypeConfiguration = [],
string  $type = 'Form',
string  $persistenceIdentifier = null 
)

Constructor. Creates a new FormDefinition with the given identifier.

Parameters
string$identifier‪The Form Definition's identifier, must be a non-empty string.
array$prototypeConfiguration‪overrides form defaults of this definition
string$type‪element type of this form
string$persistenceIdentifier‪the persistence identifier of the form
Exceptions
IdentifierNotValidException‪if the identifier was not valid

Definition at line 300 of file FormDefinition.php.

References TYPO3\CMS\Form\Domain\Model\Renderable\AbstractRenderable\$identifier, TYPO3\CMS\Form\Domain\Model\FormDefinition\$persistenceIdentifier, TYPO3\CMS\Form\Domain\Model\Renderable\AbstractRenderable\$type, and TYPO3\CMS\Form\Domain\Model\FormDefinition\initializeFromFormDefaults().

Member Function Documentation

◆ addElementDefaultValue()

TYPO3\CMS\Form\Domain\Model\FormDefinition::addElementDefaultValue ( string  $elementIdentifier,
  $defaultValue 
)

Sets the default value of a form element

Parameters
string$elementIdentifier‪identifier of the form element. This supports property paths!
mixed$defaultValue

Definition at line 583 of file FormDefinition.php.

References TYPO3\CMS\Core\Utility\ArrayUtility\setValueByPath().

◆ addFinisher()

TYPO3\CMS\Form\Domain\Model\FormDefinition::addFinisher ( FinisherInterface  $finisher)

Adds the specified finisher to this form

Parameters
FinisherInterface$finisher

Definition at line 486 of file FormDefinition.php.

Referenced by TYPO3\CMS\Form\Domain\Model\FormDefinition\createFinisher().

◆ addPage()

TYPO3\CMS\Form\Domain\Model\FormDefinition::addPage ( Page  $page)

Add a new page at the end of the form.

Instead of this method, you should often use createPage instead.

Parameters
Page$page
Exceptions
FormDefinitionConsistencyException‪if Page is already added to a FormDefinition
See also
createPage

Definition at line 438 of file FormDefinition.php.

References TYPO3\CMS\Form\Domain\Model\Renderable\AbstractCompositeRenderable\addRenderable().

Referenced by TYPO3\CMS\Form\Domain\Model\FormDefinition\createPage().

◆ bind()

FormRuntime TYPO3\CMS\Form\Domain\Model\FormDefinition::bind ( Request  $request,
Response  $response 
)

Bind the current request & response to this form instance, effectively creating a new "instance" of the Form.

Parameters
Request$request
Response$response
Returns
‪FormRuntime

Definition at line 646 of file FormDefinition.php.

◆ createFinisher()

FinisherInterface TYPO3\CMS\Form\Domain\Model\FormDefinition::createFinisher ( string  $finisherIdentifier,
array  $options = [] 
)
Parameters
string$finisherIdentifier‪identifier of the finisher as registered in the current form (for example: "Redirect")
array$options‪options for this finisher in the format ['option1' => 'value1', 'option2' => 'value2', ...]
Returns
‪FinisherInterface
Exceptions
FinisherPresetNotFoundException

Definition at line 497 of file FormDefinition.php.

References TYPO3\CMS\Form\Domain\Model\FormDefinition\addFinisher(), and TYPO3\CMS\Core\Utility\ArrayUtility\mergeRecursiveWithOverrule().

Referenced by TYPO3\CMS\Form\Domain\Model\FormDefinition\setOptions().

◆ createPage()

Page TYPO3\CMS\Form\Domain\Model\FormDefinition::createPage ( string  $identifier,
string  $typeName = 'Page' 
)

Create a page with the given $identifier and attach this page to the form.

  • ‪Create Page object based on the given $typeName
  • ‪set defaults inside the Page object
  • ‪attach Page object to this form
  • ‪return the newly created Page object
Parameters
string$identifier‪Identifier of the new page
string$typeNameType of the new page
Returns
‪Page the newly created page
Exceptions
TypeDefinitionNotFoundException

Definition at line 395 of file FormDefinition.php.

References TYPO3\CMS\Form\Domain\Model\Renderable\AbstractRenderable\$identifier, TYPO3\CMS\Form\Domain\Model\FormDefinition\addPage(), and TYPO3\CMS\Core\Utility\ArrayUtility\assertAllArrayKeysAreValid().

◆ getConditionContextDefinition()

array TYPO3\CMS\Form\Domain\Model\FormDefinition::getConditionContextDefinition ( )

◆ getElementByIdentifier()

FormElementInterface TYPO3\CMS\Form\Domain\Model\FormDefinition::getElementByIdentifier ( string  $elementIdentifier)

Get a Form Element by its identifier

If identifier does not exist, returns NULL.

Parameters
string$elementIdentifier
Returns
‪FormElementInterface The element with the given $elementIdentifier or NULL if none found

Definition at line 571 of file FormDefinition.php.

Referenced by TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher\resolveRuntimeReference().

◆ getElementDefaultValueByIdentifier()

mixed TYPO3\CMS\Form\Domain\Model\FormDefinition::getElementDefaultValueByIdentifier ( string  $elementIdentifier)

returns the default value of the specified form element or NULL if no default value was set

Parameters
string$elementIdentifier‪identifier of the form element. This supports property paths!
Returns
‪mixed The elements default value

Definition at line 601 of file FormDefinition.php.

References TYPO3\CMS\Extbase\Reflection\ObjectAccess\getPropertyPath().

◆ getElements()

FormElementInterface [] TYPO3\CMS\Form\Domain\Model\FormDefinition::getElements ( )

Get all form elements with their identifiers as keys

Returns
‪FormElementInterface[]

Definition at line 558 of file FormDefinition.php.

References TYPO3\CMS\Form\Domain\Model\FormDefinition\$elementsByIdentifier.

◆ getFinishers()

TYPO3 CMS Form Domain Finishers FinisherInterface [] TYPO3\CMS\Form\Domain\Model\FormDefinition::getFinishers ( )

Gets all finishers of this form

Returns
‪\TYPO3\CMS\Form\Domain\Finishers\FinisherInterface[]

Definition at line 518 of file FormDefinition.php.

References TYPO3\CMS\Form\Domain\Model\FormDefinition\$finishers.

◆ getPageByIndex()

Page TYPO3\CMS\Form\Domain\Model\FormDefinition::getPageByIndex ( int  $index)

Get the page with the passed index. The first page has index zero.

If page at $index does not exist, an exception is thrown.

See also
hasPageWithIndex()
Parameters
int$index
Returns
‪Page the page, or NULL if none found.
Exceptions
FormException‪if the specified index does not exist

Definition at line 473 of file FormDefinition.php.

References TYPO3\CMS\Form\Domain\Model\Renderable\AbstractRenderable\$index, and TYPO3\CMS\Form\Domain\Model\FormDefinition\hasPageWithIndex().

Referenced by TYPO3\CMS\Form\Domain\Runtime\FormRuntime\getConditionResolver().

◆ getPages()

array Page [] TYPO3\CMS\Form\Domain\Model\FormDefinition::getPages ( )

Get the Form's pages

Returns
‪array|Page[] The Form's pages in the correct order

Definition at line 448 of file FormDefinition.php.

References TYPO3\CMS\Form\Domain\Model\Renderable\AbstractCompositeRenderable\$renderables.

◆ getPersistenceIdentifier()

string TYPO3\CMS\Form\Domain\Model\FormDefinition::getPersistenceIdentifier ( )

Get the persistence identifier of the form

Returns
‪string

Definition at line 707 of file FormDefinition.php.

References TYPO3\CMS\Form\Domain\Model\FormDefinition\$persistenceIdentifier.

◆ getProcessingRule()

ProcessingRule TYPO3\CMS\Form\Domain\Model\FormDefinition::getProcessingRule ( string  $propertyPath)
Parameters
string$propertyPath
Returns
‪ProcessingRule

Definition at line 655 of file FormDefinition.php.

Referenced by TYPO3\CMS\Form\Domain\Model\Renderable\AbstractRenderable\setOptions().

◆ getProcessingRules()

TYPO3 CMS Form Mvc ProcessingRule [] TYPO3\CMS\Form\Domain\Model\FormDefinition::getProcessingRules ( )

Get all mapping rules

Returns
‪\TYPO3\CMS\Form\Mvc\ProcessingRule[]

Definition at line 669 of file FormDefinition.php.

References TYPO3\CMS\Form\Domain\Model\FormDefinition\$processingRules.

◆ getRendererClassName()

string TYPO3\CMS\Form\Domain\Model\FormDefinition::getRendererClassName ( )

◆ getTypeDefinitions()

array TYPO3\CMS\Form\Domain\Model\FormDefinition::getTypeDefinitions ( )
Returns
‪array

Definition at line 678 of file FormDefinition.php.

References TYPO3\CMS\Form\Domain\Model\FormDefinition\$typeDefinitions.

◆ getValidatorsDefinition()

array TYPO3\CMS\Form\Domain\Model\FormDefinition::getValidatorsDefinition ( )

◆ hasPageWithIndex()

bool TYPO3\CMS\Form\Domain\Model\FormDefinition::hasPageWithIndex ( int  $index)

Check whether a page with the given $index exists

Parameters
int$index
Returns
‪bool TRUE if a page with the given $index exists, otherwise FALSE

Definition at line 459 of file FormDefinition.php.

References TYPO3\CMS\Form\Domain\Model\Renderable\AbstractRenderable\$index.

Referenced by TYPO3\CMS\Form\Domain\Model\FormDefinition\getPageByIndex().

◆ initializeFromFormDefaults()

TYPO3\CMS\Form\Domain\Model\FormDefinition::initializeFromFormDefaults ( )
protected

Initialize the form defaults of the current type

Exceptions
TypeDefinitionNotFoundException

Definition at line 330 of file FormDefinition.php.

References TYPO3\CMS\Form\Domain\Model\Renderable\AbstractRenderable\$type, and TYPO3\CMS\Form\Domain\Model\FormDefinition\setOptions().

Referenced by TYPO3\CMS\Form\Domain\Model\FormDefinition\__construct().

◆ injectObjectManager()

TYPO3\CMS\Form\Domain\Model\FormDefinition::injectObjectManager ( ObjectManagerInterface  $objectManager)
Parameters
\TYPO3\CMS\Extbase\Object\ObjectManagerInterface$objectManager

Definition at line 286 of file FormDefinition.php.

References TYPO3\CMS\Form\Domain\Model\FormDefinition\$objectManager.

◆ movePageAfter()

TYPO3\CMS\Form\Domain\Model\FormDefinition::movePageAfter ( Page  $pageToMove,
Page  $referencePage 
)

Move $pageToMove after $referencePage

Parameters
Page$pageToMove
Page$referencePage

Definition at line 623 of file FormDefinition.php.

References TYPO3\CMS\Form\Domain\Model\Renderable\AbstractCompositeRenderable\moveRenderableAfter().

◆ movePageBefore()

TYPO3\CMS\Form\Domain\Model\FormDefinition::movePageBefore ( Page  $pageToMove,
Page  $referencePage 
)

Move $pageToMove before $referencePage

Parameters
Page$pageToMove
Page$referencePage

Definition at line 612 of file FormDefinition.php.

References TYPO3\CMS\Form\Domain\Model\Renderable\AbstractCompositeRenderable\moveRenderableBefore().

◆ registerRenderable()

TYPO3\CMS\Form\Domain\Model\FormDefinition::registerRenderable ( RenderableInterface  $renderable)

Add an element to the ElementsByIdentifier Cache.

Parameters
RenderableInterface$renderable
Exceptions
DuplicateFormElementException

Definition at line 530 of file FormDefinition.php.

References TYPO3\CMS\Form\Domain\Model\Renderable\RootRenderableInterface\getIdentifier().

◆ removePage()

TYPO3\CMS\Form\Domain\Model\FormDefinition::removePage ( Page  $pageToRemove)

Remove $pageToRemove from form

Parameters
Page$pageToRemove

Definition at line 633 of file FormDefinition.php.

References TYPO3\CMS\Form\Domain\Model\Renderable\AbstractCompositeRenderable\removeRenderable().

◆ setOptions()

TYPO3\CMS\Form\Domain\Model\FormDefinition::setOptions ( array  $options,
bool  $resetFinishers = false 
)

◆ setRendererClassName()

TYPO3\CMS\Form\Domain\Model\FormDefinition::setRendererClassName ( string  $rendererClassName)

Set the renderer class name

Parameters
string$rendererClassName

Definition at line 717 of file FormDefinition.php.

References TYPO3\CMS\Form\Domain\Model\FormDefinition\$rendererClassName.

Referenced by TYPO3\CMS\Form\Domain\Model\FormDefinition\setOptions().

◆ unregisterRenderable()

TYPO3\CMS\Form\Domain\Model\FormDefinition::unregisterRenderable ( RenderableInterface  $renderable)

Remove an element from the ElementsByIdentifier cache

Parameters
RenderableInterface$renderable

Definition at line 546 of file FormDefinition.php.

References TYPO3\CMS\Form\Domain\Model\Renderable\RootRenderableInterface\getIdentifier().

Member Data Documentation

◆ $conditionContextDefinition

array TYPO3\CMS\Form\Domain\Model\FormDefinition::$conditionContextDefinition
protected

◆ $elementDefaultValues

array TYPO3\CMS\Form\Domain\Model\FormDefinition::$elementDefaultValues = array( )
protected

Form element default values in the format ['elementIdentifier' => 'default value']

Definition at line 252 of file FormDefinition.php.

◆ $elementsByIdentifier

TYPO3 CMS Form Domain Model FormElements FormElementInterface [] TYPO3\CMS\Form\Domain\Model\FormDefinition::$elementsByIdentifier = array( )
protected

Contains all elements of the form, indexed by identifier. Is used as internal cache as we need this really often.

Definition at line 246 of file FormDefinition.php.

Referenced by TYPO3\CMS\Form\Domain\Model\FormDefinition\getElements().

◆ $finishers

TYPO3 CMS Form Domain Finishers FinisherInterface [] TYPO3\CMS\Form\Domain\Model\FormDefinition::$finishers = array( )
protected

The finishers for this form

Definition at line 233 of file FormDefinition.php.

Referenced by TYPO3\CMS\Form\Domain\Model\FormDefinition\getFinishers().

◆ $finishersDefinition

array TYPO3\CMS\Form\Domain\Model\FormDefinition::$finishersDefinition
protected

Definition at line 270 of file FormDefinition.php.

◆ $objectManager

TYPO3 CMS Extbase Object ObjectManagerInterface TYPO3\CMS\Form\Domain\Model\FormDefinition::$objectManager
protected

◆ $persistenceIdentifier

string TYPO3\CMS\Form\Domain\Model\FormDefinition::$persistenceIdentifier
protected

◆ $processingRules

TYPO3 CMS Form Mvc ProcessingRule [] TYPO3\CMS\Form\Domain\Model\FormDefinition::$processingRules = array( )
protected

Property Mapping Rules, indexed by element identifier

Definition at line 239 of file FormDefinition.php.

Referenced by TYPO3\CMS\Form\Domain\Model\FormDefinition\getProcessingRules().

◆ $rendererClassName

string TYPO3\CMS\Form\Domain\Model\FormDefinition::$rendererClassName = ''
protected

◆ $typeDefinitions

array TYPO3\CMS\Form\Domain\Model\FormDefinition::$typeDefinitions
protected

◆ $validatorsDefinition

array TYPO3\CMS\Form\Domain\Model\FormDefinition::$validatorsDefinition
protected