laminas/laminas-eventmanager

在PHP应用程序中触发和监听事件


README

Build Status Coverage Status

🇷🇺 俄罗斯公民

我们,Laminas的参与者,来自不同的国家。我们中许多人都有在俄罗斯和乌克兰的朋友、亲戚和同事。我们中的一些人出生在俄罗斯。我们中的一些人目前居住在俄罗斯。我们中的一些人的祖父母在第二次世界大战中与法西斯作战。在这里,没有人支持法西斯主义。

我们中的一员有一个乌克兰亲戚,她和儿子一起逃离了家园。由于前方道路上的轰炸,火车延误了。我们有一些朋友躲在防空洞里。我们在空袭后焦急地等待他们的消息,空袭无差别地向医院、学校、幼儿园和房屋开火。我们不是从任何媒体上得到这些消息。这是我们亲眼目睹的。

您足够信任我们,使用我们的程序,我们请求您再次信任我们。我们需要您的帮助。走出去,抗议这场毫无意义的战争。停止流血。说“不战争!”

🇺🇸 致俄罗斯公民

我们来自世界各地。我们中许多人都在俄罗斯和乌克兰有朋友、家人和同事。我们中的一些人出生在俄罗斯。我们中的一些人目前居住在俄罗斯。我们中的一些人的祖父母在第二次世界大战中与纳粹作战。在这里,没有人支持法西斯主义。

一位团队成员有一个乌克兰亲戚,她和儿子一起逃离了家园。由于前方道路上的轰炸,火车延误了。我们有一些朋友躲在防空洞里。我们在空袭后焦急地等待他们的消息,空袭无差别地向医院、学校、幼儿园和房屋开火。我们不是从任何媒体上得到这些消息。这是我们亲身体验的。

您足够信任我们,使用我们的软件。我们请求您信任我们说出真相。我们需要您的帮助。走出去,抗议这场不必要的战争。停止杀戮。说“停止战争!”

laminas-eventmanager旨在以下用例中

  • 实现简单的主题/观察者模式。
  • 实现面向切面的设计。
  • 实现事件驱动架构。

基本架构允许您将监听器附加和分离到命名事件,无论是基于实例还是通过共享集合;触发事件;以及中断监听器的执行。

有关从版本2迁移到版本3的说明,请阅读迁移文档

基准测试

我们提供了使用PHPBench框架进行laminas-eventmanager基准测试的脚本;这些脚本位于benchmarks/目录中。

要执行基准测试,您可以运行以下命令

$ vendor/bin/phpbench run --report=aggregate