4

我有来自http://www.chrisdanielson.com/2009/09/02/creating-a-php-rest-api-using-the-zend-framework/的 Zend 代码,如下所示:

    $this->bootstrap('Request');
    $front = $this->getResource('FrontController');
    $restRoute = new Zend_Rest_Route($front, array(), array(
        'default' => array('version')
    ));
    $front->getRouter()->addRoute('rest', $restRoute);

我正在尝试实现类似于此处指定的内容:http ://wdvl.com/Authoring/PHP/Zend_Routes/Jason_Gilmore04282010.html

并让系统响应一个 url,例如:

www.site.com/version/param1/param2

如何更改上面的工作代码以执行 2 个参数?我将执行其他命令,例如:/retrieve/、/put/ 等。

4

2 回答 2

1

我的引导程序中的路线如下:

    /*
     * ReWrite Rules and Routes
     */
    protected function _initRoutes() {

        $router = Zend_Controller_Front::getInstance ()->getRouter ();
        $router->addRoute('rest_url', new Zend_Controller_Router_Route('version/:param1/:param2/', array( 'module'=>'ModuleName', 'controller' => 'ControllerName', 'action' => 'ActionName', 'param1' => 'default here if you want', 'param2' => 'can leave param1 and param2 blank here')));
    }

这就是我一直让路线工作的方式。

于 2011-04-04T10:53:32.583 回答
0

Zend_Rest_Route不支持多个重写参数(例如/version/:id)。

您必须编写一个自定义路由来在您的 Rest 实现中处理这个问题。

于 2011-11-16T01:28:08.280 回答