gpt4 book ai didi

php - 带有构造参数的 Symfony 3 createForm

转载 作者:IT王子 更新时间:2023-10-29 00:12:43 26 4
gpt4 key购买 nike

从 Symfony 2.8 开始,您只能将 FQCN 传递到 Controller 的 createForm 方法中。所以,我的问题是,当我在 Controller 中创建表单时,如何将构造参数传递给表单类构造?

$this->createForm(new MyForm($arg1, $arg2));

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

$this->createForm(MyForm::class);

那么我怎样才能传递我的构造参数呢?这些参数在 Controller 操作中提供,所以我不能使用“表单即服务”方法...

最佳答案

简单地:

$this->createForm(MyForm::class, $entity, ['arg1' => $arg1, 'arg2' => $arg2]);

无论如何,在 2.8 之前实际上应该这样做。

编辑

根据您的评论,您需要在类类型本身中设置默认值:

public function configureOptions( OptionsResolver $resolver ) {
$resolver->setDefaults( [
'arg1' => null,
'arg2' => null,
] );
}

关于php - 带有构造参数的 Symfony 3 createForm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36999017/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com