Skip to content

Laravel package to visualize events with their handlers, including jobs to chain them together.

License

Notifications You must be signed in to change notification settings

ukkok/laravel-event-visualizer

 
 

Repository files navigation

Laravel Event Visualizer

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

Laravel package to visualize events with their handlers, including jobs to chain them together.

Installation

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"

Usage

Visit your-app.test/event-visualizer on a non-production environment.

How does it work?

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.

Supported

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.

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.

About

Laravel package to visualize events with their handlers, including jobs to chain them together.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 99.1%
  • Other 0.9%