Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Propel Eventdispatcher Bundle Laravel Package

willdurand/propel-eventdispatcher-bundle

Symfony2 bundle integrating Propel’s EventDispatcherBehavior. Adds per-model event dispatchers so you only subscribe to relevant Propel lifecycle events, improving separation of concerns and avoiding unnecessary listeners.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Event-Driven Architecture (EDA) Adoption: Enables seamless integration of Propel ORM with Symfony’s event system, allowing teams to build scalable, loosely coupled applications. Ideal for microservices or modular monoliths where domain events are critical.
  • Legacy System Modernization: Accelerates migration of older Propel-based apps to Symfony by bridging the gap between Propel’s ORM and Symfony’s event ecosystem (e.g., KernelEvents, DoctrineEvents).
  • Build vs. Buy: Avoids reinventing event dispatching for Propel; leverages a battle-tested bundle (originally by Will Durand) instead of custom development.
  • Roadmap for Observability/Extensibility: Supports use cases like:
    • Auditing/logging Propel model changes (e.g., postInsert, postUpdate).
    • Triggering workflows (e.g., sending emails after User::postSave).
    • Integrating with third-party services (e.g., analytics, notifications) via events.
  • Symfony Ecosystem Alignment: Reduces friction for teams already using Symfony’s event system (e.g., EventDispatcherInterface) while extending it to Propel models.

When to Consider This Package

  • Use This If:

    • Your stack includes Symfony + Propel ORM and you need event-driven functionality (e.g., model lifecycle hooks).
    • You’re maintaining a legacy Propel app and want to adopt Symfony’s event system incrementally.
    • Your team prioritizes decoupling (e.g., separating business logic from model classes via listeners).
    • You need lightweight event dispatching without the overhead of Doctrine Events (e.g., for non-Doctrine projects).
  • Look Elsewhere If:

    • You’re using Doctrine ORM: This bundle is Propel-specific; use DoctrineEventListener or DoctrineExtensions instead.
    • Your team prefers raw PHP events or a different ORM (e.g., Eloquent, CycleORM).
    • You need active maintenance: The bundle is archived (last commit ~2015), so evaluate:
    • You require enterprise-grade support: Consider commercial bundles or consulting for critical projects.

How to Pitch It (Stakeholders)

For Executives/Stakeholders:

"This bundle lets us leverage Symfony’s robust event system with Propel ORM, enabling us to build more maintainable and scalable applications. For example, we can automatically trigger actions like notifications or analytics whenever a critical model changes—without tightly coupling those actions to the model code. It’s a lightweight solution that aligns with our existing Symfony stack and reduces technical debt for legacy Propel systems. The trade-off is minimal maintenance risk (since it’s a small, focused bundle), but we’d need to confirm compatibility with our Symfony version or plan for minor updates."

For Engineers/Architects:

*"The BazingaPropelEventDispatcherBundle integrates Propel’s EventDispatcherBehavior into Symfony, allowing us to dispatch events (e.g., postInsert, preUpdate) for Propel models using Symfony’s EventDispatcherInterface. Key benefits:

  • Decoupling: Move business logic out of model classes into listeners/services.
  • Reusability: Reuse existing Symfony event subscribers/listeners for Propel models.
  • Performance: Lightweight compared to Doctrine Events if we’re not using Doctrine.

Caveats:

  • Archived: Last updated for Symfony 2.x; we’d need to test or fork for Symfony 5/6+.
  • Propel-Only: Not useful if we’re using Doctrine or another ORM.

Proposal: Use this for new Propel-based features or legacy modernization, but pair it with a plan to either:

  1. Maintain a fork for our Symfony version, or
  2. Migrate to a more actively maintained solution (e.g., Propel’s native events + custom listeners).

Alternatives: Custom Propel listeners or a hybrid approach (e.g., Doctrine Events for new projects)."*

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
daikazu/eloquent-salesforce-objects
unseen-codes/chat
romalytar/yammi-jobs-monitoring-laravel
kisame76/filament-db-table-state
nqxcode/laravel-lucene-search
dpfx/laravel-livewire-wizards
workos/workos-php-laravel
sofa/laravel-global-scope
nawasara/auth-primitives
adhocrat-io/arkhe-main
make-dev/orca-harpoon
itsemon245/lamet
baks-dev/dashboard
amoifr/pickle-panther-bundle
make-dev/orca
dmstr/symfony-system-resources-bundle
dmstr/symfony-job-queue-bundle
dmstr/openapi-json-schema-bundle
dmstr/keycloak-security-bundle
dmstr/doctrine-audit-log-bundle