alazziaz / laravel-dapr-events
Deprecated — use alazziaz/laravel-dapr instead.
Installs: 7
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/alazziaz/laravel-dapr-events
Requires
- php: ^8.2
- ext-json: *
- dapr/php-sdk: dev-main
- illuminate/console: ^10.0|^11.0|^12.0
- illuminate/container: ^10.0|^11.0|^12.0
- illuminate/events: ^10.0|^11.0|^12.0
- illuminate/http: ^10.0|^11.0|^12.0
- illuminate/routing: ^10.0|^11.0|^12.0
- illuminate/support: ^10.0|^11.0|^12.0
Requires (Dev)
- mockery/mockery: ^1.6
- orchestra/testbench: ^8.0|^9.0
- pestphp/pest: ^2.0
- phpstan/phpstan: ^1.11
Suggests
- ext-pcntl: Required to run listener workers efficiently.
Replaces
- alazziaz/laravel-dapr-foundation: v1.0.1
- alazziaz/laravel-dapr-listener: v1.0.1
- alazziaz/laravel-dapr-publisher: v1.0.1
README
Laravel Dapr Events
Laravel-friendly tooling for publishing and consuming framework events over Dapr Pub/Sub, mirroring the developer ergonomics of while swapping RabbitMQ, kafka transport for the Dapr sidecar.
Packages
alazziaz/laravel-dapr-events– metapackage that installs all components in one go.alazziaz/laravel-dapr-foundation– shared contracts, service provider, config, and documentation. Publishes the/dapr/subscribeendpoint and bridges local Laravel events to Dapr.alazziaz/laravel-dapr-publisher– Dapr-backed publisher with middleware pipeline, CloudEvent wrapping, and testing fakes.alazziaz/laravel-dapr-listener– Subscription discovery, HTTP ingress controller, listener middleware, and artisan tooling to scaffold listeners.
Install the metapackage for the full experience:
composer require alazziaz/laravel-dapr-events
- if you face any issues with php version, only add --ignore-platform-reqs flag to the above command this issue related to dapr-php-sdk package.
Highlights
- Automatically expose Laravel events to Dapr via
GET /dapr/subscribe. - Publish events with
event(new OrderPlaced(...))or the explicit publisher service. - Middleware pipelines on both publisher and listener sides for correlation IDs, tenancy, timestamps, and retries.
- Optional signature verification for ingress requests.
- Tests powered by Pest + Orchestra Testbench with a
DaprEventFakefor publisher assertions. - Example Laravel application under
examples/laravel-appto demonstrate end-to-end usage.
Refer to docs/quickstart.md for setup guidance, Dapr component examples, and workflow details.
Example applications
Looking for a full end-to-end demo? Check out the companion repo: mohammedazman/laravel-dapr-events-example. It contains a pair of Laravel services wired up with these packages and ready to run against a Dapr sidecar.
PHP compatibility with dapr/php-sdk
The official Dapr PHP SDK only ships development builds right now and its dev-main branch targets PHP 8.4. Until upstream tags a stable release, you have two practical options when installing these packages:
-
Allow dev dependencies for the SDK in your consuming application:
{ "minimum-stability": "dev", "prefer-stable": true }or require the SDK explicitly with a dev constraint:
composer require dapr/php-sdk:dev-main --prefer-stable --ignore-platform-reqsor add to your
composer.json:{ "require": { "dapr/php-sdk": "dev-main" }, "prefer-stable": true } -
Pin to a released SDK version (for example
^1.2) if you can work with the APIs available there.
This requirement exists because the upstream Dapr SDK has not yet published a stable release that supports PHP 8.2/8.3.