【问题标题】:ZF: router plugin does not workZF:路由器插件不起作用
【发布时间】:2012-05-19 10:13:43
【问题描述】:
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'))
                );

有谁知道如果在引导文件中像插件一样调用它为什么不起作用?如果直接在引导程序中调用 - 一切正常。插件设置为使用 preDispatch() 方法

【问题讨论】:

    标签: php zend-framework frameworks router


    【解决方案1】:

    preDispatch() 在动作被调度之前被调用 调度员。此回调允许代理或过滤器行为。

    这意味着在调度前路由已经发生,你想要的可能是 routeStartup 因为它在路由请求之前被调用:

    routeStartup() 在 Zend_Controller_Front 调用之前调用 路由器根据注册的路由评估请求。

    【讨论】:

      【解决方案2】:

      因为在调用 preDispatch 时已经发生了路由。您可能想改用 routeStartup 。请参阅:http://framework.zend.com/manual/en/zend.controller.plugins.html#zend.controller.plugins.using 按顺序查看控制器插件方法的完整列表。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-27
        • 2017-10-27
        • 1970-01-01
        • 2020-03-16
        • 1970-01-01
        相关资源
        最近更新 更多