How to implement this kind of functionality:
- Fill entity eg.
Member
with data - Bind
Member
to form with$form->bind($member)
to private property_formData
- Afterward do some stuff inside $form, eg.
$form->validate()
with_formData
-
$member
should be also changed as_formData
is changed.class Form { private $_formData; function bind1(&$row) { // this change member outside $row['full_name'] = $row['first_name'] . ' ' . $row['last_name']; } function bind2(&$row) { $this->_formData = $row; // this will not change memeber $this->_formData['full_name'] = $this->_formData['first_name'] . ' ' . $this->_formData['last_name']; } } $member = array('full_name' => null, 'first_name'=>'Fn', 'last_name' => 'Ln'); $form = new Form(); $form->bind1($member); var_dump($member['full_name']); // output: 'FnLn' $form->bind2($member); var_dump($member['full_name']); // output: null
Method validate
work with private _fieldData, so this to work bind2 test should work.