定制 symbiont/dispatcher 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

symbiont/dispatcher

最新稳定版本:v1.0.2

Composer 安装命令:

composer require symbiont/dispatcher

包简介

Event Dispatcher Library

README 文档

README

Simple event dispatcher

This package is work in progress!

Requirements

  • php 8.2

Installation

composer require symbiont/dispatcher

Usage

Using EventDispatcher and Dispatcher.

use Symbiont\Dispatcher\{Dispatcher, EventDispatcher};

// global event dispatcher
EventDispatcher::register('test', function() {
    return 'test';
});
EventDispatcher::once('test', function() {
    return 'once';
})
EventDispatcher::dispatch('test');

// local event dispatcher
$dispatcher = new Dispatcher;
$dispatcher->register('test', function() {
    return 'test';
});
$dispatcher->once('test', function() {
    return 'once';
});
$dispatcher->dispatch('test');

Implementing an event dispatcher in terms of callbacks using Callbackable and DispatchesEvent trait.

use Symbiont\Dispatcher\Contracts\Callbackable;
use Symbiont\Dispatcher\Concerns\DispatchesEvent;

class Awesome implements Callbackable {
    use DispatchesEvent;
    
    public function load() {
        $this->trigger('beforeLoad');
        // something to load ..
        $this->trigger('afterLoad');
    }
}

$awesome = new Awesome;
$awesome->on('afterLoad', function() {
    // something to do after load ..
});
$awesome->load();

Documentation

This documentation only documents the technical usage of this package with little to no text.

Tests

composer test

License

MIT license

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-06-19