phpfluent/eventmanager

1.0.0 2014-08-22 19:40 UTC

This package is auto-updated.

Last update: 2024-09-14 05:49:19 UTC


README

Build Status Code Coverage Code Quality Latest Stable Version Total Downloads License

安装

该软件包可在 Packagist 上找到,您可以使用 Composer 进行安装。

composer require phpfluent/eventmanager

用法

Fluent API

$eventManager = new Manager();
$eventManager->updated = function() { // Add listener to the event "updated"
    echo 'Updated' . PHP_EOL;
);
$eventManager->updated(); // Dispatch event "updated"
$eventManager = new Manager();
$eventManager->created = function(array $data) { // Add listener to the event "created"
    echo 'Created ' . json_encode($data) . PHP_EOL;
);
$eventManager->created($user); // Dispatch event "created"

非Fluent API

$eventManager = new Manager();

$eventManager->addEventListener(
    "updated",
    function() {
        echo "updated\n";
    }
);

$eventManager->dispatchEvent("updated");
$eventManager = new Manager();

$eventManager->addEventListener(
    "created",
    function(array $data) {
        echo 'Created ' . json_encode($data) . PHP_EOL;
    }
);

$eventManager->dispatchEvent("created", $user);

预定义监听器

  • 回调:使用 callable 作为监听器(默认如上示例)。
  • 进程:使用 Arara\Process 创建异步监听器。
  • PThread:使用 pthreads 扩展 作为异步监听器。

示例