Laravel package to visualize events with their handlers, including jobs to chain them together
jonaspardon/laravel-event-visualizer is a Laravel package for laravel package to visualize events with their handlers, including jobs to chain them together.
It currently has 26 GitHub stars and 44.852 downloads on Packagist (latest version v0.4.4).
Install it with composer require jonaspardon/laravel-event-visualizer.
Discover more Laravel packages by jonaspardon
or browse all Laravel packages to compare alternatives.
Last updated
Laravel package to visualize events with their handlers, including jobs to chain them together.
You will need PHP 8.1 or higher.
Install the package via composer:
composer require jonaspardon/laravel-event-visualizer --dev
Publish the config file with:
php artisan vendor:publish --tag="event-visualizer-config"
Publish the views with:
php artisan vendor:publish --tag="event-visualizer-views"
Visit your-app.test/event-visualizer on a non-production environment.
The starting point is your registered app events and their listeners/subscribers as defined in your EventServiceProvider.
For each of those listeners/subscribers, the package will try to find the dispatched events and jobs by parsing the code and traversing through the abstract syntax tree. For every event/job found, the same AST traversal will be done recursively until it reaches the end.
| Syntax | Supported? |
|------------------------------------------------------------------|------------|
| \Event facade static call | ✅ |
| \Bus facade static call | ✅ |
| \Illuminate\Support\Facades\Event facade static call | ✅ |
| \Illuminate\Support\Facades\Bus facade static call | ✅ |
| \Illuminate\Contracts\Events\Dispatcher injected variable call | ✅ |
| \Illuminate\Contracts\Bus\Dispatcher injected variable call | ✅ |
| event(...) helper | ✅ |
| dispatch(...) helper | ✅ |
| Bus chains | ❌ |
For dependency injection, both constructor and method injection are supported.
Inline instantiation of classes is supported.
Passing variables (Event::dispatch($event) as opposed to Event::dispatch(new EventName())) is supported, but there might be some edge cases where it fails. If you encounter these, please open an issue and provide a code sample.
composer test
Contributions are welcome.
When sending in a PR, please make sure to add/modify tests for the code you touch.
The MIT License (MIT). Please see License File for more information.