【发布时间】:2010-12-09 14:46:44
【问题描述】:
我很抱歉这个问题的标题不是很具描述性,但事实是我不太确定这个问题的正确术语是什么。我是使用 Zend 框架的新手。
想象一下这个网址:www.foo.com/bar 下面的代码采用“bar”并将其传递给索引控制器的加载操作。但是,我有另一个名为“mypresentation”的控制器,现在下面的路由器已被添加到引导程序中,它被忽略了。
$route = new Zend_Controller_Router_Route(
'/:prospect',
array('controller'=>'index', 'action' => 'load'));
$router->addRoute('load', $route);
如何让路由器忽略硬编码控制器?
非常感谢任何帮助,如果可以的话,我会在有更多信息时更改标题。
亚历克斯。
修复:
$prospectRoute = new Zend_Controller_Router_Route(
'/:prospect',
array('controller'=>'index', 'action' => 'load')
);
$route2 = new Zend_Controller_Router_Route(
'mypresentation',
array('controller' => 'mypresentation')
);
$router->addRoute('index', $prospectRoute);
$router->addRoute('mypresentation', $route2);
【问题讨论】:
-
所以你想要默认路由+这个自定义路由(作为基本的包罗万象)?问题是您定义的路由首先拦截了所有
'/whatever'...也许可以在检查默认路由后链接到匹配。 -
我已经尝试让它在默认值之后匹配,但没有运气。不过你明白这个问题:)
标签: php zend-framework routing