symfony/var-dumper
Symfony VarDumper replaces var_dump() with a clearer, structured dump() for any PHP variable, with syntax highlighting, depth control, and cli/browser output. Great for debugging arrays and objects.
dump() and dd() helpers and ships transitively with laravel/framework — so the real product decision is not "do we adopt a package" but "do we set a policy for how engineers dump, inspect, and share variable state." That policy replaces ad-hoc var_dump(), print_r(), error_log(json_encode(...)), and overlapping third-party inspectors with one consistent, colorized, depth-limited output format.Accept-header-aware dumper selection), the team can afford a permissive local/staging posture while keeping production clean — enforced by a lint rule banning stray dump()/dd() in shipped code, not by removing the tool.Adopt / keep (it is almost certainly already installed):
dump()/dd() today — the marginal cost is zero and the alternative is inconsistent, homegrown output.Look elsewhere, or scope it narrowly:
dump() in a live request path can expose credentials, PII, or full query payloads — the security release above exists precisely because terminal/HTML contexts carry injection and escape risks. Needs an env gate and a lint rule, not blind trust.composer why symfony/var-dumper in a real app rather than trusting the badge.For executives (one paragraph). This is free, MIT-licensed, Symfony-maintained plumbing that is already inside our Laravel applications — we are not buying anything or adding infrastructure. The decision on the table is a small tooling standard: one agreed way for engineers to inspect data, instead of five improvised ones. The upside is faster debugging and faster onboarding for new engineers, at effectively zero cost and zero operational risk. The only governance ask is version pinning plus advisory tracking, because the maintainers actively fix output-escaping issues that matter if debug output ever reaches a browser or a shared log.
For engineering leadership (the business case in four lines).
laravel/framework; it powers dump()/dd().dump() in production paths.For the engineering team (what we're actually asking you to do).
dump() over var_dump()/print_r() as the default; use dd() deliberately, never committed to a request path.How can I help you explore Laravel packages today?