从Symfony 2.8开始,您只能将FQCN传递给控制器createForm方法.所以,我的问题是,当我在控制器中创建表单时,如何将构造参数传递给表单类构造?
<Symfony 2.8我可以做(MyController.php):
$this->createForm(new MyForm($arg1, $arg2));
Run Code Online (Sandbox Code Playgroud)
Symfony 2.8+我只能做(MyController.php):
$this->createForm(MyForm::class);
Run Code Online (Sandbox Code Playgroud)
那么如何传递构造参数呢?这些参数在控制器操作中提供,因此我不能使用"Forms as services"方法...
Dev*_*key 17
只是:
$this->createForm(MyForm::class, $entity, ['arg1' => $arg1, 'arg2' => $arg2]);
Run Code Online (Sandbox Code Playgroud)
实际上,无论如何它应该在2.8之前完成.
编辑
根据您的注释,您需要在类类型本身中设置默认值:
public function configureOptions( OptionsResolver $resolver ) {
$resolver->setDefaults( [
'arg1' => null,
'arg2' => null,
] );
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11281 次 |
最近记录: |