nextdeveloper / events
NextDeveloper Events Package
v0.1.6
2024-07-21 07:08 UTC
Requires
- php: >=8.2.0
- league/fractal: *
- monolog/monolog: *
Requires (Dev)
- guzzlehttp/guzzle: *
- illuminate/database: 5.5.*
- illuminate/support: 5.5.*
- illuminate/validation: 5.5.*
README
此模块使我们的应用程序能够在外部应用程序和服务之间工作。为此,此模块提供两个基本功能,即监听和触发。这些事件将在数据库中创建可事件化的对象和监听器对象,如果触发任何事件,它将启动一个新后台进程来触发相关的外部应用程序,如IFTT应用程序等。
我们需要这个模块来创建一个通用的第三方集成,而无需接触客户或最终用户。
在创建此模块时,我们得到了Apache Camel的一般灵感。(感谢你们!)
机制
此模块基本上接收事件并检查正在监听该事件的关联监听器,并触发它们在自己的机制中。你可以基本上认为我们将在任何时候都在戳应用程序。这些机制可以是动作(Laravel Jobs)、套接字、http(2)和grpc。我们将首先实现“动作”,然后是http、套接字,最后是grpc。
想法
我们从Apache Camel获得了基本想法,然而我们需要一个更简单、更直观的方式来实现Camel到Laravel。因此,我们提出了这个想法;这个想法是让我们的客户(或最终用户)能够通过IFTT逻辑自行管理事件。由于我们将通过UI支持此功能,我们还希望它能够在控制台中修改。这就是为什么我们管理两个基本表的原因;
- events_available
- events_listeners
事件可用
是第三方可以绑定的事件列表
事件监听器
是监听这些事件的第三方应用程序的列表。
计划功能列表
- 动态保存事件列表
- 触发动作监听器
- 触发外部http监听器
- 触发套接字监听器
- 接收外部事件
- 注册外部事件,并绑定第三方事件作为回报