Zend的路由,抛出未发现资源(Zend routing, throws resource not

2019-10-20 10:24发布

Ive得到了一个网址: http://dev.local/foodies/view?id=bluedaniel

香港专业教育学院,并在我的引导了:

protected function _initRoute() {
        $config = new Zend_Config_Ini(APPLICATION_PATH . '/configs/routes.ini', 'production');
        $router = new Zend_Controller_Router_Rewrite();
        $router->addConfig($config, 'resources');
    }

并且Ive也得到了我routes.ini:

[production]
resources.router.routes.foodies_view.route = ":foodies/:id"
resources.router.routes.foodies_view.defaults.module = "foodies"
resources.router.routes.foodies_view.defaults.controller = "view"
resources.router.routes.foodies_view.defaults.action = "index"

所以HTTP://dev.local/foodies/bluedaniel应该工作的权利?

我得到一个资源“美食家:bluedaniel”未找到错误然而与此设置

--------------- UPDATE ----------------

取而代之的是上述的添加以下到的application.ini文件:

resources.router.routes.myroute.route = "foodies/:id"
resources.router.routes.myroute.defaults.module = "foodies"
resources.router.routes.myroute.defaults.controller = "view"
resources.router.routes.myroute.defaults.action = "index"
resources.router.routes.myroute.defaults.id = "\w+"

这个方法现在工作虽然我仍然宁愿在自己单独的ini文件的路径,如果我能帮助它。

Answer 1:

如果有人有兴趣,我在我的引导解决了这个问题,现在:

protected function _initRoutes() {
    $router = Zend_Controller_Front::getInstance()->getRouter();
    $router->addRoute('userprofile', new Zend_Controller_Router_Route('user/:id/', array('module' => 'foodies', 'controller' => 'view', 'action' => 'index', 'id'=>'\w+')));
}

问题是,在我的navigation.xml我需要添加<route>default</route>到每个节点。 Zend的文件,有时可能非常非常贫穷。

我还需要申报ID的默认变量,否则它wouldnt承认它传递。



文章来源: Zend routing, throws resource not found