Documentation

DataMapperInterface

Tags
author

Bernhard Schussek bschussek@gmail.com

Table of Contents

Methods

mapDataToForms()  : mixed
Maps the view data of a compound form to its children.
mapFormsToData()  : mixed
Maps the model data of a list of children forms into the view data of their parent.

Methods

mapDataToForms()

Maps the view data of a compound form to its children.

public mapDataToForms(mixed $viewData, array<string|int, FormInterface>|Traversable $forms) : mixed

The method is responsible for calling on the children of compound forms, defining their underlying model data.

Parameters
$viewData : mixed

View data of the compound form being initialized

$forms : array<string|int, FormInterface>|Traversable

A list of instances

Tags
throws
UnexpectedTypeException

if the type of the data parameter is not supported

mapFormsToData()

Maps the model data of a list of children forms into the view data of their parent.

public mapFormsToData(array<string|int, FormInterface>|Traversable $forms, mixed &$viewData) : mixed

This is the internal cascade call of FormInterface::submit for compound forms, since they cannot be bound to any input nor the request as scalar, but their children may:

$compoundForm->submit($arrayOfChildrenViewData)
// inside:
$childForm->submit($childViewData);
// for each entry, do the same and/or reverse transform
$this->dataMapper->mapFormsToData($compoundForm, $compoundInitialViewData)
// then reverse transform

When a simple form is submitted the following is happening:

$simpleForm->submit($submittedViewData)
// inside:
$this->viewData = $submittedViewData
// then reverse transform

The model data can be an array or an object, so this second argument is always passed by reference.

Parameters
$forms : array<string|int, FormInterface>|Traversable

A list of instances

$viewData : mixed

The compound form's view data that get mapped its children model data

Tags
throws
UnexpectedTypeException

if the type of the data parameter is not supported


        
On this page

Search results