Forms 如何在Symfony 5中为多个页面构建相同的表单?

Forms 如何在Symfony 5中为多个页面构建相同的表单?,forms,symfony,Forms,Symfony,我想在Symfony 5的不同页面中显示相同的表单。有一种方法可以做到这一点,而无需在每个控制器操作中创建相同的表单?是的,当然可以 请查看Symfony文档中的部分 基本上,您需要创建一个实现FormTypeInterface的类,或者使用AbstractType类使其更简单,该类实现了大部分必需的内容。然后,您只需要实现buildForm方法,这与您当前可能在控制器中编写的方法几乎相同。“Symfony建议在控制器中放入尽可能少的逻辑。这就是为什么最好将复杂表单移动到专用类,而不是在控制器操

我想在Symfony 5的不同页面中显示相同的表单。有一种方法可以做到这一点,而无需在每个控制器操作中创建相同的表单?

是的,当然可以

请查看Symfony文档中的部分


基本上,您需要创建一个实现
FormTypeInterface
的类,或者使用
AbstractType
类使其更简单,该类实现了大部分必需的内容。然后,您只需要实现
buildForm
方法,这与您当前可能在控制器中编写的方法几乎相同。

“Symfony建议在控制器中放入尽可能少的逻辑。这就是为什么最好将复杂表单移动到专用类,而不是在控制器操作中定义它们。”谢谢你的回答,Jakub,但遗憾的是,我想我没有解释清楚。我已经做了一个AbstractType,但我的表单必须出现在我网站的每个页面上(这是一个时事通讯表单)。所以现在,如果我想在每个页面中都有我的表单,我必须在每个控制器中执行相同的代码,这就是为什么我在这里,我想知道是否有一种方法可以使我的表单在每个控制器、每个页面中只执行一次?哦,我明白了。那么你至少有两个选择。第一个是创建一个细枝扩展,它将创建一个表单实例。另一种方法是为该表单创建一个控制器,然后将其作为嵌入式控制器呈现在布局模板中。