Symfony:不推荐使用form_enctype

时间:2016-06-14 15:59:12

标签: php symfony

目前我在symfony 2中有以下代码,我想将其升级到symfony 3.我收到此弃用警告,使用form_start代替form_enctype。如何使用form_start更改以下代码?

查看:

<form method="post" {{ form_enctype(decryptionForm) }}>
                                {{ form_widget(decryptionForm) }}
                                {{ submit_widget }}
                            </form>

控制器

$form = new DecryptionForm();
        $this->setContext(array(
            'decryptionForm' => $form->createView()
        ));

表格

$builder = $this->getFormBuilder();
        $form = $builder
            ->add(self::FORM_KEY_SAMPLECASE, 'hidden', array())
            ->add(self::FORM_KEY_DECRKEYFILE, 'file', array(
                'constraints' => array(new NotBlank()),
                'label' => "private_key"
            ))
            ->add("Submit", 'submit')
            ->getForm();

3 个答案:

答案 0 :(得分:4)

您可以替换

<form method="post" {{ form_enctype(decryptionForm) }}>

通过

{{ form_start(decryptionForm) }}

</form>

通过

{{ form_end(decryptionForm) }}

答案 1 :(得分:0)

我不确定你的twig文件中有什么其他的自定义,但它只是简单地只有这个:

{{ form_start(decryptionForm) }}    
{{ form_widget(decryptionForm) }}
{{ form_end(decryptionForm) }}

plus从你的基础树枝模板延伸......

答案 2 :(得分:0)

正如Alvin提到的替换表格打开和关闭symfony提供的功能: {{ form_start(decryptionForm) }}{{ form_end(decryptionForm) }}。现在,Symfony默认处理enctype。