(如果不张贴这类问题的正确的地方我会高兴地将它张贴其他地方)Symfony2的单网页应用
我试图建立一个互动web应用程序来管理公司资源。 我有Symfony2的经验,但我有点用这个新的应用程序撞墙。
我想让这个应用程序在客户端非常具有互动性。几乎是一个完整的单个网页应用程序。 我以前的Web应用程序通常只使用CRUD页面的典型MVC模式。
在这些简单的应用我会
/employees/
/employees/create
/employees/detail/45
/employees/update/45
/employees/delete/45
在这种应用中使用的symfony会给我一个很大的优势:
- 路由
- 安全(CSRF令牌)
- FormTypes和Form处理
- 验证
- 集成主义
- 嫩枝
像这样的枝杈特别的功能是非常清爽(因为我的模特们打造的学说实体):
<p>{{ employee.getCurrentTask().description }}</p>
这个问题我现在面临的是,我觉得Symfony2并不是真正为单个网页应用程序构建的。 当我尝试添加我面对这些问题一些Ajax功能:
- CSRF令牌无效
- 太多的不可重复使用的视图/显示逻辑jQuery中
- 添加数据的属性在HTML获取ID的等...
然后,我看着Knockout.js和Angularjs,但后来我觉得失去了教条和枝条的所有优点。无论如何,我必须在客户端重建我的模型,并且必须在两个不同的位置维护它们。
所以我想出了这个主意:(?FOSRestBundle也许)
- 使用Symfony2的模型和控制器留存数据到数据库,但让symfony的控制器只是发出JSON和接收JSON
- 使用像AngularJS或KnockoutJS这样的框架来重建客户端上的JSON数据以使用双向绑定。
但后来我将如何应对像Doctrine2关系,表单验证,CSRF这Symfony的已经解决,但不可用的问题,如果我使用一个前端JS框架?
欢迎您提出任何建议!
只是想分享一下,你仍然可以使用FormType就好,没有任何问题。当你从REST请求收到数据时,它可以被解析,然后就像任何其他表单提交一样。 – mr1031011 2014-09-25 12:14:59