Zend Framework应用程序中的事件

我正在寻找一个很好的基于Zend Framework的事件驱动架构实现的参考。 你能分享一下你在这个话题上的经验吗?

我找到了两个解决方案,但还没有使用它们:

  • http://framework.zend.com/wiki/display/ZFPROP/Zend_Event+-+Alvar+Vilu
  • http://components.symfony-project.org/event-dispatcher/
  • 编辑:

    例:

  • http://www.slideshare.net/beberlei/towards-the-cloud-eventdriven-architectures-in-php

  • 我在这个主题上没有太多的实践经验,但由于没有其他人似乎在回复,我想我会分享我对这个问题的看法......

    这在PHP应用程序中可能有点棘手,因为它们通常只在请求期间运行,所以能够在短期内订阅和收听通用事件的好处可能不会很大。

    但是,我认为在允许您更多地分离代码方面会有一些好处。

    据我所知,Symfony调度器看起来更好 - 主要是因为它看起来更简单。

    我自己使用了一种dojo pubsub类型系统:基本上你有一个事件发布者,类可以发布事件。 这是一种全局事件处理,你并不特别订阅这个类本身 - 而是你订阅一个特定的事件,并且哪个类发布该事件并不重要。

    这与订阅特定类的好处是代码更加分离:就我而言,它是一个ZF应用程序,订阅事件的类可以简单地在引导程序中执行,而不必在控制器中执行预订(或者创建发布者的地方)

    这种方法的缺点是它可以使事情之间的依赖关系难以跟踪。 例如,你只能看到一个事件发布调用,但你不知道什么类型的东西可以在没有深入代码的情况下收听。

    在我的情况下,我不知道应用程序是否从使用这种架构中获得了任何好处 - 事实上,我已经多次考虑完全移除它,并且只使用直接监听事件的对象。

    链接地址: http://www.djcxy.com/p/52243.html

    上一篇: Events in Zend Framework application

    下一篇: Making each test method run in its own instance of a test class with TestNG?