如何创建没有任何实体的 FormType?

How to create a FormType without any entity?

我刚刚在 AppBundle/Form/Type 中创建了一个名为 ContactType.php

的新表单

这只是一个带有字段电子邮件和消息的表单,用于发送电子邮件。

如何在我的控制器中实例化此表单(我没有任何关联的实体)?我试过类似的东西:

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

但是 symfony 需要一个字符串作为参数 createForm()... 谢谢!

只需像这样使用表单类型 class 的完全限定 class 名称(您可能需要根据需要调整 use 语句):

use AppBundle\Form\Type\ContactType;

$form = $this->createForm(ContactType::class);

使用 class 常量要求您使用 PHP 5.5 或更高版本。如果您仍然使用 PHP 5.3 或 5.4,则需要将 FQCN 作为字符串使用:

$form = $this->createForm('AppBundle\Form\Type\ContactType');