2

我使用Zend_Rest实现了一个RESTful应用程序,它将信息保存在mysql数据库中。 我将使用Backbone.js处理视图。

我正在寻找一个简单的CRUD示例。怎么做?

我没有找到 Zend_Rest+Backbone 的任何示例,我的想法是在这里一起创建它。

更新 0.1

如何发送(从主干)和读取(在 get/put/delete 控制器中)参数?

控制器(模块>api>控制器>BackboneController.php)

class Api_BackboneController extends Zend_Rest_Controller
{
    public function init(){
        $this->_helper->layout->disableLayout();
        $this->_helper->viewRenderer->setNoRender(true);
    }
    public function headAction(){
        $this->getResponse()->setBody(null);
    }
    public function optionsAction(){
        $this->getResponse()->setBody(null);
        $this->getResponse()->setHeader('Allow', 'OPTIONS, HEAD, INDEX, GET, POST, PUT, DELETE');
    }   

    // called from backbone with "read"
    public function indexAction(){
        // get the params
        $resp = json_decode(file_get_contents('php://input'));
        // send the same response
        $this->getResponse()->appendBody(json_encode($resp));
    }

    // I can't reach this one from backbone, WHY?
    public function getAction(){}
    // called from backbone with "update"
        public function putAction(){}   
    // called from backbone with "delete"
        public function deleteAction(){}
}

查看(模块>默认>视图>脚本>index.phtml)

var MyModel = Backbone.Model.extend({   
    defaults: {   
        text: "default text"   
    },
    url: "/base/api/backbone",
    options: {
        success: function(data){
            console.log(data);
        },
        error: function(x, t, e){
            console.log("error: " + t + ", " + e);
        }
    }
});

var myModel = new MyModel();  
Backbone.sync("read", myModel, myModel.options);

})(jQuery);
4

0 回答 0