$form->getExtraData() 方法有什么用?
What is the $form->getExtraData() method useful for?
我正在熟悉 Symfony 表单 class API。
我不明白的是这个方法:
/**
* Returns the extra data.
*
* @return array The submitted data which do not belong to a child
*/
public function getExtraData()
{
return $this->extraData;
}
我无法将此方法获取到 return 任何值。当我尝试 post 一个 unmapped/unrecognized 输入时,它总是 return 是一个空数组。
请帮助我了解此方法的实际用例。数据什么时候变成'extra'?
最好有一个代码示例。
非常感谢。
额外数据包含我们表单中没有的所有字段的提交值
假设您有一个简单的表单和一些子表单
$form = $this->createFormBuilder()
->add('form_child')
->add('submit', SubmitType::class)
->getForm();
渲染这个表单后我们会得到类似的东西
<form name="form" method="post">
<input type="text" id="form_form_child" name="form[form_child]" />
<button type="submit" id="form_submit" name="form[submit]">Submit</button>
</form>
如果我们提交此表单并尝试检索 $form->getData()
和 $form->getExtraData()
的值,我们将得到类似的结果:
$form->getData()
----------------
array (size=1)
'form_child' => string 'value_child' (length=11)
$form->getExtraData()
---------------------
array (size=0)
empty
输入 form_child
的值存储在 data
中,因为我们创建了具有相同名称的表单 ->add('form_child')
让我们修改客户端表单结构并添加新输入
...
<input type="text" id="extra_form_child" name="form[extra_child]" />
...
提交带有额外输入的表单后,我们将得到:
$form->getData()
----------------
array (size=1)
'form_child' => string 'value_child' (length=11)
$form->getExtraData()
---------------------
array (size=1)
'extra_child' => string 'extra_child_value' (length=17)
我正在熟悉 Symfony 表单 class API。
我不明白的是这个方法:
/**
* Returns the extra data.
*
* @return array The submitted data which do not belong to a child
*/
public function getExtraData()
{
return $this->extraData;
}
我无法将此方法获取到 return 任何值。当我尝试 post 一个 unmapped/unrecognized 输入时,它总是 return 是一个空数组。
请帮助我了解此方法的实际用例。数据什么时候变成'extra'?
最好有一个代码示例。
非常感谢。
额外数据包含我们表单中没有的所有字段的提交值
假设您有一个简单的表单和一些子表单
$form = $this->createFormBuilder()
->add('form_child')
->add('submit', SubmitType::class)
->getForm();
渲染这个表单后我们会得到类似的东西
<form name="form" method="post">
<input type="text" id="form_form_child" name="form[form_child]" />
<button type="submit" id="form_submit" name="form[submit]">Submit</button>
</form>
如果我们提交此表单并尝试检索 $form->getData()
和 $form->getExtraData()
的值,我们将得到类似的结果:
$form->getData()
----------------
array (size=1)
'form_child' => string 'value_child' (length=11)
$form->getExtraData()
---------------------
array (size=0)
empty
输入 form_child
的值存储在 data
中,因为我们创建了具有相同名称的表单 ->add('form_child')
让我们修改客户端表单结构并添加新输入
...
<input type="text" id="extra_form_child" name="form[extra_child]" />
...
提交带有额外输入的表单后,我们将得到:
$form->getData()
----------------
array (size=1)
'form_child' => string 'value_child' (length=11)
$form->getExtraData()
---------------------
array (size=1)
'extra_child' => string 'extra_child_value' (length=17)