smoren/event-router

用于灵活配置事件处理行为的路由器

v0.3.1 2022-12-23 11:45 UTC

This package is auto-updated.

Last update: 2024-09-03 16:32:37 UTC


README

Packagist PHP Version Support Scrutinizer Code Quality Code Coverage Build and test License: MIT

用于灵活配置事件处理行为的路由器。

如何将安装到您的项目中

composer require smoren/event-router

单元测试

composer install
composer test-init
composer test

使用说明

use Smoren\EventRouter\Components\EventRouter;
use Smoren\EventRouter\Interfaces\EventInterface;
use Smoren\EventRouter\Events\Event;
use Smoren\EventRouter\Structs\EventConfig;
use Smoren\EventRouter\Loggers\ArrayLogger;

$router = new EventRouter(10, new ArrayLogger());
$router
    ->on(new EventConfig('origin1'), function(EventInterface $event) {
        return null;
    })
    ->on(new EventConfig('origin1', 'recursive_single'), function(EventInterface $event) {
        return new Event('origin2', 'test');
    })
    ->on(new EventConfig('origin1', 'recursive_multiple'), function(EventInterface $event) {
        return [
            new Event('origin1', 'recursive_single'),
            new Event('origin2', 'test'),
        ];
    })
    ->on(new EventConfig('origin2'), function(EventInterface $event) {
        return null;
    });

$router->send(new Event('origin1', 'first'));