react / eep
React 的 EEP 事件处理。
v0.1.0
2013-02-22 15:52 UTC
Requires
- php: >=5.3.2
- evenement/evenement: 1.0.*
- react/event-loop: 0.2.*
Requires (Dev)
- ext-pcntl: *
- phpunit/phpunit: 3.7.*
This package is not auto-updated.
Last update: 2024-09-22 03:17:24 UTC
README
这是 Darach Ennis 的嵌入式事件处理(eep.js - https://github.com/darach/eep-js)的 PHP 和 React 版本。有关背景和动机,请查看那里的 README。
安装
安装 react/eep 推荐的方式是通过 Composer。
{ "require": { "react/eep": "v0.1.0" } }
示例
以下是一个累加窗口的示例
<?php require __DIR__.'/../vendor/autoload.php'; $values = array(2, 4, 6, 8, 10, 13, 14, 15, 18, 20, 30, 14, 15, 10, 10, 9, 3); $sum_fn = new React\EEP\Stats\Sum; $tumbling_sum = new React\EEP\Window\Tumbling($sum_fn, count($values)); // Register callback $tumbling_sum->on('emit', function($value) { echo "sum:\t", $value, "\n";}); // Pump data into the tumbling windows foreach($values as $v) { $tumbling_sum->enqueue($v); }
其他示例
示例主要来自 Darach,但也包括我在 PHP 事件流处理方面的演讲中的其他示例。
- analytics.php - 使用统计函数的示例
- composite.php - 综合统计函数的示例
- custom.php - Tim Bray 的 widefinder 使用单调时钟
- leader.php - 一个强大的自定义窗口 + 聚合,用于在两个流之间进行滞后相关性以检测领导者
- lowrate.php - 简单周期性低速率检测示例
- microbench-nontemporal.php - Darach 的事件基准
- microbench-temporal.php - Darach 的周期性基准
- servermon.php - 使用 All 统计函数跟踪多个变量的示例
- tick.php - 实现简单状态机以检测模式的聚合函数
- tuplejoin.php - 一个拍卖主题示例,在两个流之间执行基于散列的半连接
测试
要运行测试套件,您需要 PHPUnit。
$ phpunit
许可证
请参阅 LICENSE。