将Zend_Rest_Route与Zend_Navigation一起使用

时间:2010-05-04 17:00:57

标签: php zend-framework rest

我想开始为我的应用程序使用Zend_Rest_Controller,并在我的引导程序中设置了这样的路由:

protected function _initRestfulRoutes()
{
    $front = Zend_Controller_Front::getInstance();
    $router = $front->getRouter();

    // Specifying all controllers as RESTful:
    $restRoute = new Zend_Rest_Route($front);
    $router->addRoute('default', $restRoute);
}

但是,使用Zend_Navigation时,所有路由都将默认为索引操作。我的路线定义如下:

    <users>
        <label>Users</label>
        <controller>users</controller>
        <action>index</action>
        <route>default</route>
        <pages>
            <delete>
                <label>Delete Me</label>
                <controller>users</controller>
                <action>delete</action>
                <id>1</id>
                <route>default</route>
            </delete>
        </pages>
    </users>

删除路线解析为http://myapp.com/users而不是http://myapp.com/users/1?_method=DELETE

知道发生了什么事吗?感谢。

1 个答案:

答案 0 :(得分:2)

Zend_Rest_Route不会根据GET请求路由到“deleteAction()”。要调用“deleteAction”,您需要在请求正文中发送带有_method = DELETE的POST请求。