Forms Symfony 2-初始化表单对象后修改表单配置

Forms Symfony 2-初始化表单对象后修改表单配置,forms,symfony,Forms,Symfony,我想知道是否有可能在表单对象初始化后修改表单配置(我将表单定义为服务) 也就是说,在控制器中创建表单时,我们可以执行以下操作: $form=$this->createForm('some\u form\u type',$entity,['some\u key=>true]) 但是如果我想在初始化后修改$options,该怎么办呢 FormInterface公开返回FormConfigInterface的getConfig()方法,因此我们可以直接访问配置对象。但是,此对象不公开任何setterF

我想知道是否有可能在表单对象初始化后修改表单配置(我将表单定义为服务)

也就是说,在控制器中创建表单时,我们可以执行以下操作:

$form=$this->createForm('some\u form\u type',$entity,['some\u key=>true])

但是如果我想在初始化后修改
$options
,该怎么办呢

FormInterface
公开返回
FormConfigInterface
getConfig()
方法,因此我们可以直接访问配置对象。但是,此对象不公开任何setter
FormInterface
也不公开任何配置设置器方法


简而言之,您知道在初始化表单对象之后修改表单配置对象的方法吗?

我想问您的第一个问题是:为什么在构建表单对象之后要修改表单配置

这实际上是不可能的,因为配置在被表单生成器(
FormBuilderInterface
)用于创建和初始化表单(
FormInterface
)实例之前被锁定


因此,除非您使用自己的
FormBuilderInterface
FormConfigBuilder
实例在生成后不锁定配置,您应该在生成表单实例之前使用表单生成器正确修改任何内容

为什么需要这样做?