Laravel package to visualize events with their handlers, including jobs to chain them together.
You will need PHP 8.1 or higher.
You can install the package via composer:
composer require jonaspardon/laravel-event-visualizer --dev
You can publish the config file with:
php artisan vendor:publish --tag="event-visualizer-config"
You can 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.
Auto discovery of events and jobs might still fail. If you encounter errors, please open an issue.
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 | ❌ (WIP) |
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
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
Please review our security policy on how to report security vulnerabilities.
The MIT License (MIT). Please see License File for more information.