将表单扩展名应用于某些Symfony表单,而不是其他表单

时间:2014-02-15 23:17:15

标签: php forms symfony

我正在设计一个Symfony包,它有两种不同类型的表单:

  • 一些“常规”表格
  • 某些专门用于REST API的表单

对于后一组,我需要注入一些服务并应用一些自定义。我更愿意这样做而不将每个表单声明为自己的服务。

我的想法是这样做:

  • 注册一个新表单类型,使用自己的名称扩展“表单”,如“api”
  • 为我想要创建的每个表单扩展新的“api”类型
  • 创建标记为此“api”类型
  • 的表单扩展名
  • 在扩展中,注入服务,应用转换等

这里的目标是使这种扩展功能烘焙到新表单非常简单,例如通过扩展新类型或实现标记界面。

我能够完成上述大部分工作,只有一个例外:我只能将扩展标记为“form”,然后将其应用于所有表单。我无法获得仅针对表单子集的扩展。

有没有办法做到这一点,还是我不得不忍受不太优雅的解决方案?

0 个答案:

没有答案