gpt4 book ai didi

zend-framework - 如何保留默认 Zend 路由

转载 作者:行者123 更新时间:2023-12-04 04:31:55 24 4
gpt4 key购买 nike

我正在尝试设置有意义的 URL,例如 http://www.site.com/company/department但是它重击了我现有的 Controller /操作形状的 URL。

在我的 bootstrap 中,我创建了我的新路由,如下所示:

$frontController = Zend_Controller_Front::getInstance();
$router = $frontController->getRouter();
$route = new Zend_Controller_Router_Route(":company/:dpt", array('controller' => 'browse'));
$router->addRoute("browse", $route);

当我浏览到 http://www.site.com/ABC_Co/dry_goods它将我路由到 BrowseController 中的 IndexAction。伟大的!问题是我的其他与管理员相关的 URL - 例如/company/create 等 - 也指向那里。

有什么方法可以让 Zend 做它的 默认 Controller / Action 首先匹配,只有在失败时才恢复到浏览路由?

谢谢!

最佳答案

路由在 LIFO 上处理,您需要执行以下操作:

$router->removeDefaultRoutes();
//add your routes
//add in the default route:
$route = new Zend_Controller_Router_Route(":module/:controller/:action"

相反,您可能只想在您的“浏览” route 添加一个“静态”组件。这将使更具体:
$route = new Zend_Controller_Router_Route("browse/:company/:dpt", array('controller'   => 'browse'));

IMO,第二个是更好的选择

关于zend-framework - 如何保留默认 Zend 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6012711/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com