定制 uno/event-sdk 二次开发

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

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

uno/event-sdk

最新稳定版本:v1.0.0

Composer 安装命令:

composer require uno/event-sdk

包简介

Reusable Symfony Event SDK with Publisher, Subscriber, and Messenger integration

README 文档

README

A reusable and lightweight Event SDK for Symfony applications that simplifies event publishing and event subscribing across microservices.

This SDK is built using Symfony Messenger, supports Redis transport, and provides a clean, unified structure for asynchronous communication.

Features

  • Publish events with a standard EventMessage format
  • Subscribe to events using Symfony Messenger workers
  • Extendable subscriber system using a registry pattern
  • Optional HTTP forwarding subscriber (e.g., send events to any service like Spring Boot)
  • Automatic dependency injection configuration
  • Compatible with Symfony 4.4 → 7.x
  • Can be used via:
    • Local path
    • GitHub repository
    • Composer (Packagist)

Installation

1. Install via Composer (Packagist)

composer require uno/event-sdk

2. Install from GitHub (without Packagist)

composer require uno/event-sdk:dev-main

3. Use Locally (development mode)

In your main project composer.json:

{
  "repositories": [
    {
      "type": "path",
      "url": "../uno-event-sdk"
    }
  ]
}

Then:

composer require uno/event-sdk:* --dev

Configuration

Enable the bundle automatically (Flex) or in config/bundles.php:

return [
    Uno\EventSdk\UnoEventSdkBundle::class => ['all' => true],
];

Configure the messenger transport (Redis example):

framework:
  messenger:
    transports:
      async: "%env(MESSENGER_TRANSPORT_DSN)%"

Example DSN:

redis://localhost:6379/messages

Publishing an Event

$publisher->publish('user.registered', [
    'id' => 1,
    'email' => 'test@example.com'
]);

Subscribing to Events

Run worker:

php bin/console messenger:consume async -vv

Project Structure

src/
├── Contract/
├── Publisher/
├── Subscriber/
├── Message/
├── Exception/
├── EventListener/
├── DependencyInjection/
├── Resources/config/services.yaml
└── UnoEventSdkBundle.php

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-12-05