Zend framework2 如何从ZF2模块中的路由获取参数?(类模块,函数onBootstrap())

Zend framework2 如何从ZF2模块中的路由获取参数?(类模块,函数onBootstrap()),zend-framework2,Zend Framework2,在控制器中,我可以使用$this->params()->fromRoute('param1') 如何在模块OnBootstrap()函数中实现这一点? namespace MyModule; use Zend\EventManager\EventInterface; class Module { public function onBootstrap(EventInterface $event) { // here I need to get paramete

在控制器中,我可以使用
$this->params()->fromRoute('param1')

如何在模块OnBootstrap()函数中实现这一点?
namespace MyModule;

use Zend\EventManager\EventInterface;

class Module
{
    public function onBootstrap(EventInterface $event)
    {
        // here I need to get parameter from route
    }
}

正如user2257808在他的评论中所说,onBootstrap在路由发生之前被调用,所以没有任何路由匹配。他建议附加事件渲染,这在您的情况下可能太晚了

我会这样做,附加到
MvcEvent::EVENT\u DISPATCH

MyModule\Module.php
class Module {
    public function onBootstrap(MvcEvent $e) {

        $e->getApplication()->getEventManager()->attach(MvcEvent::EVENT_DISPATCH,
            function($e){
               var_dump($e->getRouteMatch());
                exit;
            }
         );

    }
}

你想完成什么?您无法在引导期间访问路由参数,因为路由尚未发生。您需要做的是将侦听器附加到
MvcEvent::EVENT\u RENDER
事件,以便等待路由发生,然后获取路由参数。oops,意思是
EVENT\u route
如果当前路由不是“installer”,我想重定向到路由“installer”