neat/event
Composer 安装命令:
composer require neat/event
包简介
Neat Event components
关键字:
README 文档
README
Neat Event components provide a clean and expressive API for your application to dispatch and listen for events. The Neat Event components implement the PSR-14 interfaces for optimal interoperability.
NOTE: Event listeners are required to have their first parameter named '$event'.
Getting started
To install this package, simply issue composer on the command line:
composer require neat/event
The event dispatcher can be created with a few lines of code.
<?php // First create your container (used for event dispatching and dependency injection) $container = new Neat\Service\Container(); // The dispatcher will need a service container for dependency injection $dispatcher = new Neat\Event\Dispatcher($container);
Defining events
<?php // A generic event can be defined using a simple PHP class without any members class SomeEvent { } // Specific events may also use inheritance using extends or interfaces class SomeSpecificEvent extends SomeEvent { } // Implement the Stoppable event interface if you want control over dispatching your event class SomeStoppableEvent implements Neat\Event\Stoppable { public function isPropagationStopped(): bool { return random_int(0, 1) == 1; } }
Listen for events
Your event lister can be any callable function or method as long as it has
an $event parameter that accepts the event object we're listening for.
<?php // Now listen for events of this class or any of its subclasses or implementations $dispatcher->listen(SomeEvent::class, function (SomeEvent $event) { // ... }); // Or for a specific event $dispatcher->listen(SomeSpecificEvent::class, function (SomeSpecificEvent $event) { // ... });
Dispatch an event
Now we're ready to dispatch an event
<?php // This will trigger only the SomeEvent listener, NOT the SomeSpecificEvent listener $dispatcher->dispatch(new SomeEvent()); // This will trigger both the SomeEvent and SomeSpecificEvent listeners $dispatcher->dispatch(new SomeSpecificEvent());
neat/event 适用场景与选型建议
neat/event 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1.14k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2020 年 06 月 19 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「event」 「dispatcher」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 neat/event 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 neat/event 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 neat/event 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Package that provides an integration with Doctrine ORM to automatically dispatch Domain Events.
Event dispatcher package
Symfony bundle for broadway/broadway.
This is an Event Emitter equivalent to Node.js' Event Emitter.
Publish / Subscribe / Event Manager
A PHP library to implement the observer pattern
统计信息
- 总下载量: 1.14k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 10
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-06-19