【问题标题】:Events in Zend Framework applicationZend Framework 应用程序中的事件
【发布时间】:2011-08-16 01:31:42
【问题描述】:

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

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

编辑:

例子:

【问题讨论】:

    标签: zend-framework events event-handling architecture


    【解决方案1】:

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

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

    但是,我认为允许您更多地解耦代码可能会有一些好处。

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

    我自己使用了一种dojo pubsub 类型系统:基本上你有一个事件发布者,类可以向其发布事件。这是一种全局事件处理,您无需专门订阅类本身 - 而是订阅特定事件,并且与哪个类发布事件无关。

    与订阅特定类相比,这样做的好处是代码更加解耦:在我的例子中,它是一个 ZF 应用程序,订阅事件的类可以简单地在引导程序中执行,而不是必须执行控制器中的订阅(或创建发布者的地方)

    这种方法的缺点是它会使事物之间的依赖关系更难跟踪。例如,您只看到一个事件发布调用,但如果不深入研究代码,您不知道什么类型的东西会监听它。

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

    【讨论】:

      猜你喜欢
      • 2011-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-29
      • 1970-01-01
      相关资源
      最近更新 更多