如何在FormType中为symfony3发送参数?

时间:2016-03-21 11:42:19

标签: forms symfony

使用symfony2,当我从控制器创建表单时,我能够发送参数:

$form = $this->createForm(
    new articleType(
        $localedefault,
        $this->get('request')->getLocale(),
        $depotCat,
        $this->get('security.context')
    ),
    $article
);

我从ArticleType的构造函数中恢复了这些参数。

使用symfony3,我把它放在:

$form = $this->createForm(
    ArticleType::class,
    $article,
    array(
        $localedefault,
        $request->getLocale(),
        $depotCat,
        $this->get('security.authorization_checker')
    )
);

但这种方法不起作用。

1 个答案:

答案 0 :(得分:2)

在您的课程中使用configureOptions,然后:setDefault('myOption', [])

实例化时:

$form = $this->createForm(
    ArticleType::class,
    $article,
    array(
        'myOption'=>array(...)
    )
);

然后在buildForm中,您在options数组中有一个正确的密钥。