ZF2: How to attach module specific listener for dispatch.error

前端 未结 1 1098
长发绾君心
长发绾君心 2021-01-19 15:51

Is there a way I can attach an event listener for the event dispatch.error in Zend Framework 2, where that listener will only be attached to an EventManager rel

1条回答
  •  伪装坚强ぢ
    2021-01-19 16:46

    The reason it is working for dispatch but not dispatch.error is that the dispatch event gets triggered from within in the controller (see Zend\Mvc\Controller\AbstractController::dispatch)

    Because you extend this class with your own namespaced controller, it is possible to associate the event with that namespace.

    However, the dispatch.error event may be triggered before a controller (and with it the context of your namespace) is ever loaded. This happens according to more than one condition in Zend\Mvc\DispatchListener.

    In order to customize the way dispatch.error is handled, you will likely need to write a custom listener for that event, or even write your own DispatchListener (though I'd recommend against that). You can then perhaps look at the routeMatch to figure out what you'd like to do next. If you're using the ModuleRouteListener this could be pretty easy.

    0 讨论(0)
提交回复
热议问题