dazzle-php / event
Dazzle 事件 & 分发器。
Requires
- php: >=5.6.7
- dazzle-php/loop: 0.5.*
Requires (Dev)
- phpunit/phpunit: >=4.8.0 <5.4.0
This package is not auto-updated.
Last update: 2024-09-15 03:34:23 UTC
README
注意: 此存储库是 Dazzle 项目的一部分,Dazzle 项目是下一代 PHP 库。该项目的目的是为 PHP 开发者提供一套完整的工具,用于构建功能性的异步应用程序。请务必仔细阅读附带的 README 文件,并保证您会对它的易用性和强大功能感到惊讶。同时,您可以检查我们的其他异步库,以获得完整的 Dazzle 体验:[Dazzle 仓库](https://github.com/dazzle-php)
描述
Dazzle Event 是一个库,其目的是为任何应用程序实现基于事件的架构提供所需的所有工具。它提供了专门为此目的设计的类和接口,并且易于使用、高效且有效。
特性亮点
Dazzle Event 特性
- 支持与事件、事件分发器和事件处理器一起工作
- 支持同步事件
- 支持使用循环异步事件
- 内置事件处理器
- 内置扩展接口,用于附加监听器和管理事件传播
- ...等等。
提供的示例
快速入门
use Dazzle\Event\EventEmitter; $emitter = new EventEmitter(); $emitter->on('script.start', function($user, $time) { echo "User '$user' has started this script at $time.\n"; }); $emitter->emit('script.start', [ get_current_user(), date('H:i:s Y-m-d') ]);
附加
更多示例可以在 example 目录中找到。以下为提供的示例列表,供参考和优先消费顺序
- 快速入门
- 使用多个监听器
- 使用一次性监听器
- 使用延迟监听器
- 使用精确(多次)监听器
- 使用混合监听器
- 取消
- 高级: 异步事件发射器
- 高级: 复制事件
- 高级: 转发事件
- 高级: 链接事件传播
- 高级: 切换事件发射器的传播模式
如果上述任何示例让您感到困惑,请查看 tests 目录。
比较
本节包含用户请求的 Dazzle 与 React 的比较。如果您想知道为什么创建了这个部分,请参阅 作者备注。
性能
有关此基准的详细信息,请参阅 benchmark-on.php 和 benchmark-on-react.php 文件。
内存分配效率
有关此基准的详细信息,请参阅 benchmark-once.php 和 benchmark-once-react.php 文件。
详细信息
要求
Dazzle Event 需要
- PHP-5.6 或 PHP-7.0+,
- UNIX 或 Windows 操作系统。
安装
要安装此库,请确保您已安装 composer,然后运行以下命令
$> composer require dazzle-php/event
测试
可以通过以下方式运行测试
$> vendor/bin/phpunit -d memory_limit=1024M
版本控制
所有包含在Dazzle项目中的Dazzle库的版本控制正在共享。这意味着所有版本都同时发布。一方面,这可能导致某些包有时会有“空”版本,但请放心。最终,这对贡献者来说要容易得多,而且——最重要的是——对用户来说,理解包的兼容性和互操作性也更加简单直接。
贡献
感谢您考虑为这个仓库做出贡献!
- 贡献指南可以在贡献提示中找到。
- 开放的任务可以在问题部分找到。
- 当前贡献者名单可以在图形部分查看。
- 要联系作者,请参阅composer.json文件中的信息。
许可证
Dazzle框架是开源软件,使用MIT许可证授权。
"一切皆有可能。不可能的只是需要更长的时间。" —— 丹·布朗