Zend_Controller_Front::getInstance()->setParam('useDefaultControllerAlways', true);
Zend_Controller_Front::getInstance()->getRouter()->addRoute('taxes', new Zend_Controller_Router_Route_Static('taxes',
array('controller' => 'config', 'action' => 'taxes'))
);
如果在引导文件中调用插件,有谁知道为什么这不起作用?如果直接在bootstrap中调用 - 一切正常。插件设置为使用preDispatch()方法
答案 0 :(得分:0)
因为在调用preDispatch时已经发生了路由。您可能希望使用routeStartup。有关控制器插件方法的完整列表,请参阅:http://framework.zend.com/manual/en/zend.controller.plugins.html#zend.controller.plugins.using。
答案 1 :(得分:0)
在调度操作之前调用preDispatch() 调度员。此回调允许代理或过滤器行为。
这意味着在已发生predispatch路由时,您想要的可能是routeStartup,因为它在路由请求之前被调用:
在Zend_Controller_Front调用之前调用routeStartup() 路由器根据注册路由评估请求。