Php 将Symfony与Backbone.js一起使用

Php 将Symfony与Backbone.js一起使用,php,javascript,symfony,Php,Javascript,Symfony,我想从symfony社区了解如何使用backbone.js创建一个单页应用程序 甚至可以通过backbone.js调用symfony中的函数(例如public function executeCreate())有人这样做过吗? 你能给我一些资源吗?提前谢谢。为什么不呢?Symfony可以根据主干客户端应用程序的请求轻松返回JSON数据。对于Symfony2,它可以是这样的: use Symfony\Bundle\FrameworkBundle\Controller\Controller; use

我想从symfony社区了解如何使用
backbone.js
创建一个单页应用程序 甚至可以通过backbone.js调用symfony中的函数(例如public function executeCreate())有人这样做过吗?

你能给我一些资源吗?提前谢谢。

为什么不呢?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;
    }
}

为什么不呢?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;
    }
}

我建议你去看看这本书。另一种尝试是自己处理请求,并通过


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

我建议您看看。另一种尝试是自己处理请求,并通过


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

如果您想启动一个新的Symfony2+主干应用程序,我建议您使用以下捆绑包:

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


如果您想启动新的Symfony2+主干应用程序,我建议您使用以下捆绑包:

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


谢谢Dmitry Chekaluk,下一步怎么办?我的意思是可能我必须重写Backbone.sync才能获得这些数据?@user1331126如果您需要默认RESTful ajax请求以外的其他持久性策略,那么可以。谢谢Dmitry Chekalyuk,下一步呢?我的意思是,为了获取这些数据,我可能必须重写Backbone.sync?@user1331126如果您需要默认RESTful ajax请求以外的其他持久性策略,那么可以。当然,您不能通过javascript(客户端与服务器)直接访问php方法。您必须提供某种API(REST Anywhere?),js可以使用该API访问和发布数据。当然,您不能通过javascript(客户端与服务器)直接访问php方法。你必须提供一个API,js可以使用它来访问和发布数据。