我目前正在开发一个 Web 应用程序,该应用程序严重依赖移动和桌面客户端向 Web 服务器咨询信息。这可以很好地完成,使 RESTful API 可用于处理此问题。所以我的想法是让应用程序充当“平台”,在幕后处理所有真实的业务逻辑和数据库信息。
我的计划是让平台使用 symfony2 和 OAuth 2.0 身份验证机制,并结合 RESTful Web 服务。
现在我真正的困境出现在网站组件上。理想情况下,我想将该网站视为另一个向该 REST 平台询问信息的客户端,并将其与平台本身完全分开。
为了更清楚一点,假设我们正在使用这种架构创建一个博客,所以会有一个“平台/后端”,它提供一个休息服务来列出文章,例如:/articles/5。这在后端,使用 symfony2/doctrine 意味着应用程序有一个 Article 模型类,这些可以从数据库中请求。一个简单的控制器查询文章编号 5 并以 JSON 格式返回所有信息。
现在这个例子中的网站,可以做简单的事情,也有一个文章实体,直接查询数据库,但我认为如果它可以通过它的 REST api 与平台对话并使用该信息作为实体的“后端”。
所以真正的问题是,有没有使用 symfony2 支持这种设计?实体是否依赖 REST api 进行 CRUD 操作?或者我最好将平台/网站变成一个单一的东西并与所有通用实体共享一个“CoreBundle”?