0

我需要将路由添加到 Zend 框架应用程序。

我想显示数据库中目录 = 控制器名称的所有帖子

domain.com/action 
domian.com/drama
domain.com/thriller

我怎样才能做到这一点 ?我浏览了 ZF Routes 文档。但发现没有解决方案。

4

2 回答 2

1

这可以使用 bootstrap.php 文件中的 addRoute() 方法来完成

// Retrieve the front controller from the bootstrap registry
$FrontController = $this->getResource('FrontController');
$router = $FrontController->getRouter();

$router->addRoute('genre', 
                  new Zend_Controller_Router_Route(
        ':genre',array( 'controller' => 'index' , 'action' => 'index'  )) );

在控制器中获取流派

echo $this->getRequest()->getParam('genre')
于 2012-11-10T02:47:25.750 回答
1

为了能够做到这一点,您必须在您的 application.ini 中添加类似的内容

resources.router.routes.category.type = "Zend_Controller_Router_Route"
resources.router.routes.category.route = ":category"
resources.router.routes.category.defaults.module = "default"
resources.router.routes.category.defaults.controller = "index"
resources.router.routes.category.defaults.action = "index"

这样,所有与有效控制器不匹配的内容都将被定向为索引控制器索引操作中的类别参数。请记住处理无效的类别名称并触发 404。

另外,这里有一篇关于application.ini 中技巧和技巧的好文章

于 2012-11-09T15:12:20.483 回答