使用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')
)
);
但这种方法不起作用。
答案 0 :(得分:2)
在您的课程中使用configureOptions
,然后:setDefault('myOption', [])
。
实例化时:
$form = $this->createForm(
ArticleType::class,
$article,
array(
'myOption'=>array(...)
)
);
然后在buildForm
中,您在options
数组中有一个正确的密钥。