Php Symfony 3带构造参数的createForm
自Symfony 2.8以来,只能将FQCN传递到controller createForm方法中。所以,我的问题是,当我在控制器中创建表单时,如何将构造参数传递到表单类构造中Php Symfony 3带构造参数的createForm,php,symfony,Php,Symfony,自Symfony 2.8以来,只能将FQCN传递到controller createForm方法中。所以,我的问题是,当我在控制器中创建表单时,如何将构造参数传递到表单类构造中
$this->createForm(MyForm::class, $entity, ['arg1' => $arg1, 'arg2' => $arg2]);
这实际上是在2.8之前应该做的
编辑
根据您的评论,您需要在类类型本身中设置默认值:
public function configureOptions( OptionsResolver $resolver ) {
$resolver->setDefaults( [
'arg1' => null,
'arg2' => null,
] );
}
这是不正确的,我得到以下错误:“passwordRequired”选项不存在。定义的选项有:“action”、“allow_extra_fields”、“attr”、“auto_initialize”……这并不错误,您需要在type类中指定默认选项。
$this->createForm(MyForm::class, $entity, ['arg1' => $arg1, 'arg2' => $arg2]);
public function configureOptions( OptionsResolver $resolver ) {
$resolver->setDefaults( [
'arg1' => null,
'arg2' => null,
] );
}