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