如何在Symfony中将if添加到表单生成器中

如何在Symfony中将if添加到表单生成器中,symfony,Symfony,我需要在我的联系表单中添加额外的输入,以便进行特定的本地化,我正在寻找一种解决方案,可以执行以下操作: $form = $this->createFormBuilder() ->add(input) if ($locale == "locale") { ->add(extrainput) } ; 与使用if和else创建两个表单生成器不同。将它们全部添加,然后您可以执行以下操作: $form = $this->createForm

我需要在我的联系表单中添加额外的输入,以便进行特定的本地化,我正在寻找一种解决方案,可以执行以下操作:

$form = $this->createFormBuilder()
    ->add(input)
    if ($locale == "locale") {
        ->add(extrainput)
    }
;

与使用if和else创建两个表单生成器不同。

将它们全部添加,然后您可以执行以下操作:

$form = $this->createFormBuilder()
    ->add('input')
    ->add('extrainput')
    ->getForm(); 
if($test) {
    $form->remove('extrainput');
} 

将它们全部添加,然后可以执行以下操作:

$form = $this->createFormBuilder()
    ->add('input')
    ->add('extrainput')
    ->getForm(); 
if($test) {
    $form->remove('extrainput');
} 
您也可以执行$form->add('extrainput'),不要忘记->getForm()getForm()必须在if中再次使用?或者在CreateFormBuilder()中只使用一次就足够了吗?只需使用CreateFormBuilder():)您也可以执行$form->add('extrainput'),不要忘记->getForm()getForm()必须在if中再次使用?或者在CreateFormBuilder()中只使用一次就够了吗?只使用CreateFormBuilder():)