platform/api/symfony/Component/Form/DataMapperInterface.yaml
2024-09-02 10:44:11 -07:00

107 lines
2.4 KiB
YAML

name: DataMapperInterface
class_comment: null
dependencies: []
properties: []
methods:
- name: mapDataToForms
visibility: public
parameters:
- name: viewData
- name: forms
comment: '# * @author Bernhard Schussek <bschussek@gmail.com>
# */
# interface DataMapperInterface
# {
# /**
# * Maps the view data of a compound form to its children.
# *
# * The method is responsible for calling {@link FormInterface::setData()}
# * on the children of compound forms, defining their underlying model data.
# *
# * @param mixed $viewData View data of the compound
form being initialized
# * @param \Traversable<mixed, FormInterface> $forms A list of {@link FormInterface}
instances
# *
# * @throws Exception\UnexpectedTypeException if the type of the data parameter
is not supported'
- name: mapFormsToData
visibility: public
parameters:
- name: forms
- name: '&$viewData'
comment: '# * Maps the model data of a list of children forms into the view data
of their parent.
# *
# * 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.
# *
# * @param \Traversable<mixed, FormInterface> $forms A list of {@link FormInterface}
instances
# * @param mixed &$viewData The compound form''s
view data that get mapped
# * its children model data
# *
# * @throws Exception\UnexpectedTypeException if the type of the data parameter
is not supported'
traits: []
interfaces: []