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
其他信息
- 授权协议: MIT
- 更新时间: 2025-12-05