Php ZF2第二轮自举

Php ZF2第二轮自举,php,zend-framework2,Php,Zend Framework2,我如何才能订阅事件,以便在我的一个模块中进行第二轮引导,确保所有模块都已调用了它们的onBootstrap()方法 我已经尝试从模块的onBootstrap()中订阅相同的onBootstrap()事件,但优先级较低。那没用;显然,要触发的事件是在触发任何事件之前确定的,因此您不能订阅当前正在触发的同一事件并期望它工作 我还想尝试订阅加载模块。在init()中发布,然后订阅EVENT\u BOOTSTRAP,但我意识到我找不到任何方法来访问$mvcEvent,反过来,$application,然

我如何才能订阅事件,以便在我的一个模块中进行第二轮引导,确保所有模块都已调用了它们的
onBootstrap()
方法

我已经尝试从模块的
onBootstrap()
中订阅相同的
onBootstrap()
事件,但优先级较低。那没用;显然,要触发的事件是在触发任何事件之前确定的,因此您不能订阅当前正在触发的同一事件并期望它工作


我还想尝试订阅
加载模块。在
init()
中发布
,然后订阅
EVENT\u BOOTSTRAP
,但我意识到我找不到任何方法来访问
$mvcEvent
,反过来,
$application
,然后,订阅需要在其上进行的应用程序事件管理器。

前几天我不得不完全这样做

您是对的,您不能在
onBootstrap
事件中附加,您需要在
init
方法中附加一个侦听器,您需要使用共享管理器来侦听应用程序触发的
MvcEvent

public function init(ModuleManager $modules)
{
    // attach to the end of the bootstrap event
    $modules->getEventManager()
            ->getSharedManager()
            ->attach('Zend\Mvc\Application', MvcEvent::EVENT_BOOTSTRAP, function ($e) {
                 // do something after everything else has bootstrapped

             }, -1000);
}