为什么请求默认路由到getAction> Zend框架

时间:2011-04-01 09:34:52

标签: php zend-framework

我正在开发一个zend框架应用程序,令我惊讶的是,默认路由没有按预期工作。这是我的网址:

http://localhost/zend_app/public/index/test

并且它应该路由到索引控制器> 默认模块中的测试操作。但它没有按预期工作。

当我打印请求参数时,我将操作设为“获取”并将ID设为“测试”。

array (
  'controller' => 'index',
  'action' => 'get',
  'id' => 'test',
  'module' => 'default'
)

仅供参考,我在我的引导程序文件中配置了某些正则表达式路由,如下所示:

protected function _initRestRoute()
    {
        require_once 'Zend/Controller/Front.php';    
        require_once 'Zend/Controller/Router/Route.php';

        $ctrl  = Zend_Controller_Front::getInstance();
        $router = $ctrl->getRouter();

$router->addRoute(
            'route2',
            new Zend_Controller_Router_Route_Regex(
                                            'api/([^-]*)/([^-]*)\.([^-]*)', 
                                            array(
                                            'action' => 'index'
                                            ),
                                            array(
                                                1 => 'module',
                                                2 => 'controller'
                                            )
        ));

}

但是没有一条路线符合我上面的网址。 我无法理解可能是什么问题。

1 个答案:

答案 0 :(得分:1)

仔细阅读Zend Rest Route下的说明。

Zend Rest Route旨在简化RESTful应用程序,并根据URL路由请求并请求方法

在这种情况下,您将在索引控制器下发出项目'test'的GET请求。