在 symfony 4 中动态访问表单数据

Access form data dynamically in symfony 4

我在 symfony 4 中创建了以下简单表单。

public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        ->add('name', TextType::class)
        ->add('email', EmailType::class)
        ->add('message',TextareaType::class)
    ;
}

我通过如下控制器方法访问这些数据:

$form = $this->createForm(ContactType::class);
$form->handleRequest($request);
$formdata = $form->getData();

$concatenatedData = implode (",", array("Name: ".$formdata['name'], "E-mail: ".$formdata['email'], "Message: ".$formdata['message']));

现在我需要在表单中添加更多字段。在这种情况下,我需要遍历 $formdata 并在 $concatenatedData 中获取这些值。我是 symfony 的新手。谁能给我任何提示,说明如何在 symfony 4 中动态执行此操作? 非常感谢。

在表单 class

中定义后创建您需要的 class
class ContactType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder->add('name');
    $builder->add('price');
}

public function configureOptions(OptionsResolver $resolver)
{
    $resolver->setDefaults(array(
        'data_class' => Content::class,
    ));
}
}

关注

$content = new Content();
$form = $this->createForm(ContactType::class, $content);
$form->handleRequest($request);
$formdata = $form->getData();

$content->getName();
$content->getOther();
...