dazzle-php/event

Dazzle 事件 & 分发器。

v0.5.0-beta 2017-07-16 22:30 UTC

README

Build Status Code Coverage Code Quality Latest Stable Version Latest Unstable Version License

注意: 此存储库是 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.phpbenchmark-on-react.php 文件。

内存分配效率


有关此基准的详细信息,请参阅 benchmark-once.phpbenchmark-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库的版本控制正在共享。这意味着所有版本都同时发布。一方面,这可能导致某些包有时会有“空”版本,但请放心。最终,这对贡献者来说要容易得多,而且——最重要的是——对用户来说,理解包的兼容性和互操作性也更加简单直接。

贡献

感谢您考虑为这个仓库做出贡献!

许可证

Dazzle框架是开源软件,使用MIT许可证授权。

"一切皆有可能。不可能的只是需要更长的时间。" —— 丹·布朗