FormFactory
in package
FinalYes
Creates transformers for converting data received from a form submission into app data, based on its form configuration: a FormFieldConf or a dict of FormFieldConf (array<string, FormFieldConf>).
Why not transforming it from a model directly? This is because the model is used to validate the data.
Tags
Table of Contents
Constants
- CSRF_FORM_ELEMENT_NAME : mixed = '_csrf'
Properties
- $conf : AppConf
- $csrfTransformer : CsrfTransformer
- $fileService : FileService
- $formConfFactory : FormConfFactory
Methods
- __construct() : mixed
- createFieldTransformer() : IFormTransformer
- createForm() : ArrayTransformer
- createFormTransformer() : ArrayTransformer
Constants
CSRF_FORM_ELEMENT_NAME
public
mixed
CSRF_FORM_ELEMENT_NAME
= '_csrf'
Properties
$conf
private
AppConf
$conf
$csrfTransformer
private
CsrfTransformer
$csrfTransformer
$fileService
private
FileService
$fileService
$formConfFactory
private
FormConfFactory
$formConfFactory
Methods
__construct()
public
__construct(AppConf $conf, CsrfTransformer $csrfTransformer, FileService $fileService, FormConfFactory $formConfFactory) : mixed
Parameters
- $conf : AppConf
- $csrfTransformer : CsrfTransformer
- $fileService : FileService
- $formConfFactory : FormConfFactory
createFieldTransformer()
public
createFieldTransformer(FormFieldConf $fieldConf[, string|null $name = null ]) : IFormTransformer
Parameters
- $fieldConf : FormFieldConf
- $name : string|null = null
Return values
IFormTransformercreateForm()
public
createForm(ArrayModel $model[, array<string, fieldconfparams|array{ignore: true}> $formConfParams = [] ]) : ArrayTransformer
Parameters
- $model : ArrayModel
- $formConfParams : array<string, fieldconfparams|array{ignore: true}> = []
Return values
ArrayTransformercreateFormTransformer()
public
createFormTransformer(array<string, FormFieldConf> $formConf[, string|null $name = null ][, bool $withCsrf = true ]) : ArrayTransformer
Parameters
- $formConf : array<string, FormFieldConf>
- $name : string|null = null
- $withCsrf : bool = true