我目前正在努力寻找适合系统的架构,但我想我需要 Symfony 专家的帮助。我正在构建一个非常简单的应用程序,它有两个接口:普通的 Web 应用程序(HTML 表单等)和一个 RESTful API。两者并不相同,但它们共享很多 CRUD 操作。
我有两个捆绑包,每个捆绑包都包含特定于每个接口的控制器。一种使用 Form 组件创建和验证表单,另一种只是以任何格式(JSON 或 XML)从请求中解析数据。然而,这很糟糕。这两个接口之间有很多共享代码,例如参数绑定和验证。尽管模型相同,但我从用户那里接收数据并与模型交互的方式是纯粹的反 DRY。
有没有办法将输入绑定和验证带入一个抽象的操作中?我首先创建了一个从每个控制器接收请求对象的类,验证每个参数并与模型通信。它对 API 非常有用,但我完全失去了 Form 组件的优势。