Symfony 2 - 添加字段到

时间:2012-11-12 16:17:33

标签: symfony

在我的控制器中,我有:

$form = $this->createForm(new ResetPassword());

ResetPassword是一个AbstractType类,它有自己的buildForm()方法,我正在使用它 - >按原样添加一些字段。

在我的控制器中,我想在显示之前能够在表单中添加另一个字段。

以下是我正在尝试的内容:

$form = $this->createForm(new ResetPassword())->add('test');

这会产生错误:

Catchable Fatal Error: Argument 1 passed to Symfony\Component\Form\Form::add() must implement interface Symfony\Component\Form\FormInterface, string given

1 个答案:

答案 0 :(得分:3)

有一种更好的方法可以让您继续使用干净的MVC结构。所以,更好的方法是使用“表格事件”到dynamically generate your forms

例如,通过向表单添加事件订阅者,您可以将字段的创建委派给该订阅服务器。然后,您可以根据“EventType”在订阅者中添加所需的字段。

Adding An Event Subscriber To A Form Class

How to Dynamically Generate Forms Using Form Events