承接 phpnomad/symfony-event-dispatcher-integration 相关项目开发

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

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

phpnomad/symfony-event-dispatcher-integration

最新稳定版本:1.1.1

Composer 安装命令:

composer require phpnomad/symfony-event-dispatcher-integration

包简介

Integrates PHPNomad's event architecture with Symfony's event dispatcher.

README 文档

README

Latest Version Total Downloads PHP Version License

Integrates Symfony's EventDispatcher component with PHPNomad's event abstraction. It provides concrete EventStrategy and ActionBindingStrategy implementations that satisfy the interfaces defined in phpnomad/event, so application code that dispatches or listens for events keeps depending on the PHPNomad contracts while the underlying work goes through Symfony's dispatcher. This is the recommended implementation for PHPNomad applications that are not running inside a host platform with its own event system.

Installation

composer require phpnomad/symfony-event-dispatcher-integration

Composer pulls in phpnomad/event, phpnomad/di, phpnomad/loader, and symfony/event-dispatcher transitively.

What This Provides

  • An EventStrategy implementation that wraps each PHPNomad event in a Symfony-compatible event object and dispatches it through EventDispatcherInterface. attach() supports priorities, and listener callables receive the original PHPNomad event rather than the Symfony wrapper.
  • An ActionBindingStrategy implementation that binds an arbitrary action name to a PHPNomad event class, with an optional transformer callable for shaping the event instance from the action arguments.
  • An Initializer class that registers both strategies with the DI container and binds Symfony's EventDispatcher to EventDispatcherInterface.

Requirements

  • phpnomad/event for the interfaces being implemented
  • phpnomad/di and phpnomad/loader for container wiring
  • symfony/event-dispatcher ^7.1 for the underlying dispatcher

All four are declared as direct dependencies, so Composer installs them automatically.

Usage

Add the integration's Initializer to your PHPNomad bootstrapper alongside your application initializers. The loader picks up its class definitions and binds both strategies to their PHPNomad interfaces.

<?php

use MyApp\MyAppInitializer;
use PHPNomad\Di\Container\Container;
use PHPNomad\Loader\Bootstrapper;
use PHPNomad\Symfony\Component\EventDispatcherIntegration\Initializer as SymfonyEventDispatcherInitializer;

$container = new Container();
$bootstrapper = new Bootstrapper(
    $container,
    new MyAppInitializer(),
    new SymfonyEventDispatcherInitializer(),
);
$bootstrapper->load();

Once the bootstrapper runs, any service that depends on PHPNomad\Events\Interfaces\EventStrategy or PHPNomad\Events\Interfaces\ActionBindingStrategy resolves to the Symfony-backed implementation. Your domain code continues to depend on the PHPNomad interfaces and does not reference Symfony directly.

Documentation

Full PHPNomad documentation lives at phpnomad.com. For the underlying dispatcher, see the Symfony EventDispatcher component.

License

Released under the MIT License.

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-12-18

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固