react/eep

React 的 EEP 事件处理。

v0.1.0 2013-02-22 15:52 UTC

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 事件流处理方面的演讲中的其他示例。

  1. analytics.php - 使用统计函数的示例
  2. composite.php - 综合统计函数的示例
  3. custom.php - Tim Bray 的 widefinder 使用单调时钟
  4. leader.php - 一个强大的自定义窗口 + 聚合,用于在两个流之间进行滞后相关性以检测领导者
  5. lowrate.php - 简单周期性低速率检测示例
  6. microbench-nontemporal.php - Darach 的事件基准
  7. microbench-temporal.php - Darach 的周期性基准
  8. servermon.php - 使用 All 统计函数跟踪多个变量的示例
  9. tick.php - 实现简单状态机以检测模式的聚合函数
  10. tuplejoin.php - 一个拍卖主题示例,在两个流之间执行基于散列的半连接

测试

要运行测试套件,您需要 PHPUnit。

$ phpunit

许可证

请参阅 LICENSE。