PHP Class Controller_MVCForm, atk4

In most cases the following use is sufficient $form->setModel('SomeModel'); If you want to import fields from multiple models, you can use this: $ctl = $form->importFields($model,array('name','surname'); and if you want to use your own class based on this one, syntax is: $ctl = $form->add('Controller_MVCForm_Derived')->importFields($model,array('name','surname')); You can subsequently call importField() to add additional fields such as: $form_field = $ctl->importField('age'); which will return newly added form field.
Inheritance: extends AbstractController
Show file Open project: atk4/atk4 Class Usage Examples

Public Properties

Property Type Description
$field_associations array Field associations form_field => model_field
$form Form
$model Model
$owner Form
$type_associations array Field type associations model_field_type => form_field_type

Public Methods

Method Description
getFieldType ( Field $field ) : string Returns form field type associated with model field.
getFields ( ) : array Returns array of models model_name => Model used in this form.
importField ( string $field, string $field_name = null ) : void | Form_Field Import one field from model into form.
importFields ( Model $model, array | string | boolean $fields = UNDEFINED ) : void | $this Import model fields in form.
setActualFields ( array | string | boolean $fields ) Import model fields in form.
setFields ( ) Copies model field values into form.
update ( Form $form ) Update form model

Method Details

getFieldType() public method

Redefine this method to add special handling of your own fields.
public getFieldType ( Field $field ) : string
$field Field
return string

getFields() public method

Returns array of models model_name => Model used in this form.
public getFields ( ) : array
return array

importField() public method

Import one field from model into form.
public importField ( string $field, string $field_name = null ) : void | Form_Field
$field string
$field_name string
return void | Form_Field

importFields() public method

Use $fields === false if you want to associate form with model, but don't create form fields.
public importFields ( Model $model, array | string | boolean $fields = UNDEFINED ) : void | $this
$model Model
$fields array | string | boolean
return void | $this

setActualFields() public method

Import model fields in form.
public setActualFields ( array | string | boolean $fields )
$fields array | string | boolean

setFields() public method

Copies model field values into form.
public setFields ( )

update() public method

Update form model
public update ( Form $form )
$form Form

Property Details

$field_associations public property

Field associations form_field => model_field
public array $field_associations
return array

$form public property

public Form $form
return Form

$model public property

public Model $model
return Model

$owner public property

public Form $owner
return Form

$type_associations public property

Field type associations model_field_type => form_field_type
public array $type_associations
return array