theofidry/psysh-bundle
A Symfony bundle that integrates PsySH, bringing an interactive PHP REPL and debugger to your console. Inspect variables, experiment with code, and debug applications without leaving your terminal. Easy to install and configure.
laravel/tinker covers the Laravel side, and modern Symfony applications can wire PsySH in a handful of lines. The correct decision here is "adopt nothing new," not "build."eval.Consider it only if all of the following hold:
laravel/tinker, full stop).Look elsewhere — and you almost certainly should:
laravel/tinker is first-party, maintained, and already installed in most apps. There is no reason to port a Symfony bundle into a Laravel app.psy/psysh directly and register the shell yourself. You trade a composer line for full control over the version you pin and the environment guards you enforce.Honest read of the signals: 207 stars and near-zero dependents on a package that wraps a well-known upstream tool says this never became load-bearing for anyone. Treat it as a historical artifact, not a candidate.
Executive summary. This package adds an interactive PHP console (a REPL) to Symfony applications, so engineers can poke at live objects, services, and data instead of writing throwaway scripts. The capability is valuable for developer productivity and debugging speed. This specific package is not something I recommend adopting.
Why not. It is archived, its last release was December 2021, and it has effectively no downstream users. Everything it does is now available from the tools it wraps: PsySH ships Symfony-aware shells, and Laravel has first-party Tinker. Adopting it would mean taking on an unmaintained dependency — with no security patching and no upgrade path — to avoid roughly a few lines of configuration.
Recommendation. No new adoption. Where teams want a REPL, standardize on the native path per framework (laravel/tinker for Laravel; psy/psysh wired directly for Symfony), and restrict REPL availability to non-production environments by policy. If any service already pulls this bundle in, raise a small migration ticket to replace it with the native equivalent — the effort is low and it removes a stale dependency from our audit surface.
Cost and risk. Migration cost is low (configuration-level, not application logic). The risk we avoid is the quiet kind: an archived package that stops installing on a future PHP upgrade and surfaces as a broken build at the worst possible moment.
How can I help you explore Laravel packages today?