Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony 3带构造参数的createForm_Php_Symfony - Fatal编程技术网

Php Symfony 3带构造参数的createForm

Php Symfony 3带构造参数的createForm,php,symfony,Php,Symfony,自Symfony 2.8以来,只能将FQCN传递到controller createForm方法中。所以,我的问题是,当我在控制器中创建表单时,如何将构造参数传递到表单类构造中

自Symfony 2.8以来,只能将FQCN传递到controller createForm方法中。所以,我的问题是,当我在控制器中创建表单时,如何将构造参数传递到表单类构造中

Symfony 2.8+我只能做(MyController.php):

那么,如何传入构造参数呢?控制器操作中提供了这些参数,因此我不能简单地使用“Forms as services”方法…

$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,
    ] );
}