【问题标题】:Understanding ZF2 event system:了解 ZF2 事件系统:
【发布时间】:2015-06-29 07:47:56
【问题描述】:

正如 Enrico Zimuel 的教程“MVC + Events + Modules: the new architecture of ZF2”所示,基本的 ZF2 MVC 事件结构如下所示:

ZF MVC Auth 扩展了基本的 MVC 流,向其中添加了四个事件(EVENT_AUTHENTICATIONEVENT_AUTHENTICATION_POSTEVENT_AUTHORIZATIONEVENT_AUTHORIZATION_POST)。

现在我正在阅读 Apigility "Advanced Authentication and Authorization" 文档,上面写着:

为了实现与 ZF2 MVC 生命周期的集成以进行身份​​验证,zf-mvc-auth 连接 4 个侦听器,然后传播它们自己的事件。这些侦听器中的每一个都在事件MvcEvent::EVENT_ROUTE 中以不同的优先级注册。

有两点我不清楚:

  • “每个侦听器都在事件中注册MvcEvent::EVENT_ROUTE”--“嵌套事件”?这是什么意思?

  • "在事件中MvcEvent::EVENT_ROUTE 在不同的优先级" -- 事件优先级层次结构是否“嵌套”/不是直线?是多维的吗?

【问题讨论】:

    标签: events zend-framework2 zend-framework-mvc


    【解决方案1】:

    您可以将侦听器附加到on 事件;这些侦听器将按其优先级排序。

    当事件被触发(比如事件MvcEvent::EVENT_ROUTE)时,注册的监听器将一个接一个地执行,从具有最高优先级的监听器开始到最低优先级。

    “嵌套事件”或“传播它们自己的事件”将是这些侦听器之一触发另一个事件的地方。这方面的一个例子是the listener for rendering, \Zend\View\Http\DefaultRenderingStrategy::render(),其中MvcEvent::EVENT_RENDER_ERROR 在出现渲染错误时被触发。

    【讨论】:

      猜你喜欢
      • 2017-07-20
      • 2017-07-08
      • 2019-11-15
      • 2013-11-24
      • 2013-05-14
      • 1970-01-01
      • 2014-03-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多