- Does michallkanak/symfony-message-flow-visualizer work with Laravel out of the box?
- No. It is a Symfony bundle and console tooling package built around Symfony Messenger's dispatch, middleware and handler pipeline, while Laravel uses Illuminate\Bus and its own queue system. Laravel also has no bundle or DI-tag registration model, so there is no native integration point. It only becomes relevant for Laravel projects that embed Symfony Messenger or that run Symfony services alongside a Laravel app.
- How do I install this package in a Laravel project?
- Install it with Composer as a dev dependency, for example composer require --dev michallkanak/symfony-message-flow-visualizer. After that you still need a way to feed it your message and handler definitions, typically a standalone Symfony console container, a dev-only service in your Docker stack, or a small adapter that registers your classes. It does not ship an Artisan command or service provider, so expect a bounded piece of integration work. Pin an exact version such as 0.1.3 until you have verified a green CI run.
- Which PHP and Symfony versions does this package support?
- Release 0.1.3 adds Symfony 8 compatibility, but you should read composer.json to confirm whether it widened constraints to ^6.4|^7|^8 or raised the minimum platform requirement. Check that the PHP floor matches your platform, whether that is 8.2, 8.3 or 8.4. Note that supporting Symfony 8 does not automatically mean Symfony 6.4 and 7.x remain supported, since small projects often trade one for the other.
- Can it visualize Laravel jobs, events and Illuminate\Bus dispatches?
- Not natively. It understands Symfony Messenger constructs such as messages, middleware, handlers and transports, not Laravel job or event classes. To map Laravel dispatches you would need an adapter layer that registers your command and event classes as visualizer inputs. That is small but real engineering, and for a Laravel-only estate Laravel-native tooling is usually the better first choice.
- Does it produce static diagrams or does it intercept messages at runtime?
- Confirm this in the repository before adopting, because it changes the integration cost significantly. A static export to Mermaid or Graphviz is much easier to adopt since it reads your message and handler definitions and emits a diagram. Runtime interception requires hooking into the bus and is considerably heavier to wire into an existing application.
- Is it safe to install in a Laravel production application?
- It is developer tooling, so install it with --dev and keep it out of the production autoload path. The real risk is not runtime blast radius but Composer resolution, because it can conflict with Symfony Console, Finder, Process and VarDumper components that Laravel already pulls in. Run a composer update dry run in a throwaway branch before committing to it.
- How should I use it in a mixed Laravel and Symfony Messenger environment?
- That mixed setup is the realistic use case: a Laravel application paired with a Symfony Messenger worker or Symfony services in the same estate. Run the visualizer as a standalone dev-only console container or a separate service in your local compose stack, pointed at the message and handler definitions you want mapped. This gives you a shared diagnostic view of message topology across both stacks without touching production runtime.
- What are the Laravel alternatives for visualizing job and event flow?
- Laravel Horizon covers queue monitoring, throughput and failed jobs for Redis queues, and Telescope gives development-time insight into requests, jobs and events. For an actual dependency graph of dispatched jobs and listeners you generally need custom tooling built on Laravel's event dispatcher. Symfony Message Flow Visualizer is a poor first choice for a Laravel-only codebase.
- Is this package stable enough to rely on?
- It is at 0.1.x, which signals a pre-stable API, and it has a single maintainer, so bus factor and long-term support are unproven. Because it is dev-only, any breakage is limited to local and CI tooling rather than production. Pin 0.1.3 exactly and treat version bumps as deliberate, reviewed changes.
- Does the 0.1.3 release drop support for Symfony 6.4 or 7.x?
- That is exactly what you should verify by diffing composer.json constraints and reading the merged pull request rather than trusting the changelog line. A Symfony 8 compatibility change can either widen the constraint or raise the minimum platform and quietly drop older versions. If it narrows support and your applications still run Symfony 6.4 or 7.x, stay on 0.1.2 or skip the package. A CI matrix run across your supported versions is the quickest confirmation.