首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Zend Routing不工作

Zend Routing不工作
EN

Stack Overflow用户
提问于 2011-10-24 08:16:04
回答 2查看 2K关注 0票数 2

我正在尝试使用routes.ini和bootstrap设置我的zend路由,但由于某些原因,它不能按预期路由。我的routes.ini和bootstrap.php如下所示。

routes.ini

代码语言:javascript
复制
[production]
routes.guestbook.route = "/guestbook"
routes.guestbook.defaults.controller = guestbook
routes.guestbook.defaults.action = index

bootstrap.php

代码语言:javascript
复制
protected function _initRoutes() 
{

// Get Front Controller Instance

$front = Zend_Controller_Front::getInstance();

// Get Router
$router = $front->getRouter();

$router->addConfig(new Zend_Config_Ini(APPLICATION_PATH.'/configs/routes.ini', 'production'), 'routes');

}
EN

回答 2

Stack Overflow用户

发布于 2011-10-24 08:29:10

在我读完您的评论之后,我可以断言您可以删除这些语句(config和bootstrap),因为您希望实现的是zend框架默认路由器的正常行为,除非您正在使用模块。

感谢FloydThreepwood,他记得我写了这个细节。

票数 2
EN

Stack Overflow用户

发布于 2011-10-24 09:07:58

配置路由的最简单方法是使用Zend_Application_Resource_Router

配置放在你的application.ini文件中,就这样,不需要更多的代码。

由于您似乎正在使用静态路由(无可变路径组件),请在您的application.ini文件中尝试执行此操作

代码语言:javascript
复制
resources.router.routes.guestbook.type = "Zend_Controller_Router_Route_Static"
resources.router.routes.guestbook.route = "guestbook"
resources.router.routes.guestbook.defaults.module = "default"
resources.router.routes.guestbook.defaults.controller = "guestbook"
resources.router.routes.guestbook.defaults.action = "index"

Bootstrap类中删除_initRoutes()方法。

此外,这只是一个补充,但是当在引导_init*方法中使用其他资源(如前端控制器)时,您的必须确保它们已经被正确引导。要执行此操作,请像这样检索它们

代码语言:javascript
复制
protected function _initSomething()
{
    // make sure resource is bootstrapped
    $this->bootstrap('frontController');

    // retrieve resource
    $front = $this->getResource('frontController');
}

请参阅http://framework.zend.com/manual/en/zend.application.theory-of-operation.html#zend.application.theory-of-operation.bootstrap.dependency-tracking

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7870270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档