【问题标题】:Using Symfony with Backbone.js将 Symfony 与 Backbone.js 一起使用
【发布时间】:2012-04-27 16:16:32
【问题描述】:

我想从 symfony 社区获得关于如何使用 backbone.js 创建单页应用程序的意见。
甚至可以通过backbone.js调用symfony中的函数(例如公共函数executeCreate())有人做过吗?
你能给我一些资源吗?提前致谢。

【问题讨论】:

  • 当然你不能通过javascript直接访问一个php方法(客户端vs.服务器)。您必须提供某种 API(REST 任何人?),js 可以使用它来访问和发布数据。

标签: php javascript symfony


【解决方案1】:

为什么不呢? Symfony 可以轻松地根据骨干客户端应用程序的请求返回 JSON 数据。对于 Symfony2,它可以是这样的:

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;

class MyController extends Controller {
    public function createAction($requestParam1, $requestParam2)
        $response = new Response(json_encode(array(
            'requestParam1' => $requestParam1,
            'requestParam2' => $requestParam2
        )));
        $response->headers->set('Content-Type', 'application/json');

        return $response;
    }
}

【讨论】:

  • 感谢 Dmitriy Chekalyuk,下一步呢?我的意思是我可能必须重写 Backbone.sync 才能获取这些数据?
  • @user1331126 如果你需要一些其他的持久化策略而不是默认的 RESTful ajax 请求,那么可以。
【解决方案2】:

我建议你看看FOSRestBundle。另一种尝试可能是自己处理请求,并通过Serializer从 orm/odm 返回日期

到目前为止,唯一困扰我的是表单处理(使用backbone-forms),我根本无法保持我的代码干燥(在 symfony 和前端部分中的表单+验证有重复数据)。

【讨论】:

    【解决方案3】:

    如果你想启动一个新的 Symfony2 + 主干应用程序,我会推荐这个捆绑包:

    https://github.com/gigo6000/DevtimeBackboneBundle

    还有一个演示应用程序可以帮助查看backbone.js 和Symfony2 的交互:

    https://github.com/gigo6000/DevtimeRafflerBundle

    【讨论】:

      猜你喜欢
      • 2012-12-21
      • 1970-01-01
      • 2018-03-26
      • 2018-07-05
      • 1970-01-01
      • 2011-09-06
      • 1970-01-01
      • 2011-12-28
      • 2011-10-03
      相关资源
      最近更新 更多