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.