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

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

Integrates the Propel EventDispatcherBehavior into Symfony2.

Frequently asked questions about Propel Eventdispatcher Bundle
Can I use this bundle with Laravel, or is it strictly for Symfony?
This bundle is designed for Symfony 2.x applications using Propel ORM. While Laravel and Symfony share some concepts, this package won’t work directly in Laravel due to architectural differences in dependency injection and event systems. For Laravel, consider alternatives like Propel’s native event system or custom event listeners.
What Laravel alternatives exist for Propel event handling?
For Laravel, you can use Propel’s built-in `EventDispatcherBehavior` directly or create custom event listeners using Laravel’s event system. Packages like `spatie/laravel-event-sourcing` or `laravel-notification-channels` offer event-driven alternatives, but none bridge Propel events natively like this Symfony bundle does.
Does this bundle support Propel 2.x or only 1.x?
The bundle primarily targets Propel 1.x, given its Symfony 2.x focus. Propel 2.x introduced breaking changes, and compatibility isn’t guaranteed. Check the bundle’s documentation or test thoroughly if using Propel 2.x, as it may require patches or a fork.
How do I install this in a Laravel-compatible way?
This bundle isn’t Laravel-compatible, but you can manually integrate Propel’s `EventDispatcherBehavior` into a Laravel project. Require the behavior via Composer (`willdurand/eventdispatcher-behavior`), then configure Propel models to dispatch events. Laravel’s service container won’t auto-wire it, so manual setup is required.
Will this bundle work with Laravel’s Eloquent models?
No, this bundle is Propel-specific and won’t integrate with Eloquent. Eloquent uses Laravel’s event system (e.g., `Model::saved()`, `Model::deleting()`), which is fundamentally different from Propel’s event behavior. For Eloquent, stick to Laravel’s native events or third-party packages like `laravel-eloquent-events`.
Are there performance concerns with Propel’s event system in production?
Yes, Propel’s event system adds overhead to model operations, especially during bulk inserts/updates. Benchmark critical paths in staging to ensure it doesn’t bottleneck performance. For high-traffic apps, consider lazy-loading events or using Propel’s `disableEvents()` for non-critical operations.
How do I test event listeners in Laravel if I’m using Propel directly?
Test Propel events by mocking the `EventDispatcher` in PHPUnit. Use Propel’s `EventDispatcherBehavior` to verify events are dispatched, then assert listener callbacks. Laravel’s testing tools (e.g., `Event::fake()`) won’t work here—you’ll need Propel-specific assertions or custom test doubles.
Can I migrate from Doctrine to Propel using this bundle?
Migrating from Doctrine to Propel is non-trivial, and this bundle won’t automate the process. You’ll need to rewrite Doctrine event listeners (e.g., `prePersist`, `postRemove`) to Propel’s equivalents (e.g., `preInsert`, `postDelete`). Use Propel’s schema migration tools and test thoroughly, as SQL dialects and query builders differ.
Is this bundle actively maintained, or should I look for alternatives?
This bundle is archived with no recent updates, indicating stagnation. For modern Laravel/Propel projects, consider forking it or using Propel’s native event system. Alternatives like `spatie/laravel-propeller` (for Propel in Laravel) or custom event bridges may offer better long-term support.
How do I configure Propel models to dispatch events in Laravel?
In Laravel, manually add the `EventDispatcherBehavior` to your Propel models via the schema XML or PHP configuration. Define event listeners in a service provider’s `boot()` method, then dispatch events using Propel’s `dispatchEvent()` method. Laravel’s service container won’t auto-register Propel behaviors, so explicit setup is required.
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.
yandex/translate-api
voku/simple_html_dom
league/flysystem-vfs
bkwld/upchuck
filament/spatie-laravel-tags-plugin
capell-app/block-library
axium/identity
cetria/laravel-dummy-models
cetria/reflection-helper
agropredict/sso-auth-bundle
evolvestudio/spam-protection
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
22h/doctrine-garbage-collection-bundle
agtp/agtp-php