承接 kuick/event-dispatcher 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

kuick/event-dispatcher

最新稳定版本:v1.1.3

Composer 安装命令:

composer require kuick/event-dispatcher

包简介

Kuick Event is a slim PSR-14 Event Dispatcher implementation

README 文档

README

Latest Version PHP Total Downloads GitHub Actions CI codecov Software License

PSR-14 Event Dispatcher lightweight implementation

Key features

  1. Full PSR-14 compatibility
  2. Easy to use listener registration
  3. Listener prioritization
  4. Support for wildcard listeners (ie. , Prefix)

Examples

  1. Registering listeners to the listener provider
<?php

use Kuick\Event\EventDispatcher;
use Kuick\Event\ListenerProvider;

$provider = new ListenerProvider();
$provider->registerListener(
    'some class name or pattern',
    function () {
        //handle the event
    }
);

$dispatcher = new EventDispatcher($provider);
// $dispatcher->dispatch(new SomeEvent());
  1. Listener prioritization (using stdClass as an event)
<?php

use stdClass;
use Kuick\Event\EventDispatcher;
use Kuick\Event\ListenerPriority;
use Kuick\Event\ListenerProvider;

$provider = new ListenerProvider();
$provider->registerListener(
    stdClass::class,
    function (stdClass $event) {
        //handle the event
    },
    ListenerPriority::HIGH
);
$provider->registerListener(
    stdClass::class,
    function (stdClass $event) {
        //handle the event
    },
    ListenerPriority::LOW
);
$dispatcher = new EventDispatcher($provider);
// it should handle the event with high priority listener first
$dispatcher->dispatch(new stdClass());
  1. Registering wildcard listeners (using stdClass as an event)
<?php

use stdClass;
use Kuick\Event\EventDispatcher;
use Kuick\Event\ListenerProvider;

$provider = new ListenerProvider();
$provider->registerListener(
    '*',
    function (object $event) {
        //handle the event
    }
);
$provider->registerListener(
    'std*',
    function (object $event) {
        //handle the event
    }
);
$dispatcher = new EventDispatcher($provider);
// it should match both listeners and run them sequentialy
$dispatcher->dispatch(new stdClass());

统计信息

  • 总下载量: 4.98k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 0
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-01-14