pe/component-event 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

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

pe/component-event

最新稳定版本:v1.1.0

Composer 安装命令:

composer require pe/component-event

包简介

Simple event dispatcher

README 文档

README

The following versions of PHP are supported.

  • PHP 7.4+

Installation

To install, use composer:

php composer.phar require pe/component-event

Usage

Minimal usage:

namespace PE\Component\Event;

// Create emitter instance, maybe in some DI container
$emitter = new Emitter();

// Attach listener to some event
$emitter->attach('event_name', function ($foo, $bar) {
    // do something
});
// Also you can attach as generic listener for allow stop propagation
$emitter->attach('event_name', function (Event $event) {
    $event->stop();// <-- call for stop propagation
});

// Dispatch event somewhere in logic
$emitter->dispatch(new Event('event_name', $foo, $bar));

Extended usage:

<?php
namespace PE\Component\Event;

// Create your own event class for store specific payload or modify it in listeners
class SomeEvent
{
    public string $message = 'A';
}

$emitter = new Emitter();

// Listener A, it's important to first arg be same as event class
$emitter->attach(SomeEvent::class, function (SomeEvent $event) {
    $event->message = 'B';
});
// Listener B
$emitter->attach(SomeEvent::class, function (SomeEvent $event) {
    echo $event->message;// <-- here message is "B"
});
$emitter->dispatch(new SomeEvent());

Note: each listener can be attached with priority, the lower the priority value - the earlier the listener will fire

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-05-02