mmz-srf/ez-legacy-debug-bundle
A Laravel debug bundle that brings legacy-style debugging helpers to older projects, offering simple dump-and-die utilities and debug output without requiring modern framework features. Useful for maintaining inherited or outdated applications.
This is a Symfony 2-era bundle — not a Laravel package — so the first step is deciding whether you actually have the target environment. It only makes sense inside a Symfony app running eZ Publish/eZ Platform Legacy (the ezpublish-legacy bridge), where the legacy stack has its own debug output that never reaches the Symfony profiler. The bundle's job is to pipe that output into a Web Profiler panel.
Minimal setup (inside that environment):
composer require --dev mmz-srf/ez-legacy-debug-bundle
Register it in app/AppKernel.php, dev/test only:
if (in_array($this->getEnvironment(), ['dev', 'test'])) {
$bundles[] = new Srf\EzLegacyDebugBundle\SrfEzLegacyDebugBundle();
}
Clear the cache, then hit any page and open /_profiler — look for the eZ Legacy panel in the toolbar. That is the entire "hello world": one request, one panel, legacy debug lines visible next to the Symfony collector timeline.
Look first at the bundle's Resources/config/ and its Collector/DataCollector class. In a bundle this small, the collector is the documentation: it defines exactly which legacy globals/ezDebug output it reads and what the template renders.
First real use case: you have a legacy module or template override that silently does nothing, and you want to see the legacy debug log, template resolution path, and query activity without SSHing in and tailing var/log/ezpublish.log.
Treat it as a dev-only observability shim, not a library you call. You rarely invoke its API directly; you enable it and then write legacy code that emits debug data it can pick up.
settings/override/site.ini.append.php) have debug output enabled (DebugSettings / [DebugSettings] DebugOutput=enabled), otherwise you get an empty panel and blame the bundle.eZDebug::accumulate() / eZDebug::writeDebug() calls, then reload and read the panel. This is the day-to-day workflow: instrument, request, inspect, remove instrumentation.prod. Guard the kernel registration by environment (as above). The collector adds per-request overhead and profiler storage churn.srf_ez_legacy_debug: in config_dev.yml rather than editing vendor code — vendor edits vanish on the next composer update.Debugbar::addCollector(...), a Telescope watcher), never the bundle itself.getName(), getCollector() signatures, KernelInterface era assumptions). Budget for a fork-and-patch, not a composer require.ezpublish-legacy present and bootstrapped, the collector either no-ops or throws on missing eZDebug/eZINI classes./_profiler. "It doesn't show anything" is almost always: wrong environment, bundle not registered, or legacy debug output disabled upstream — check those three before touching the bundle.ezcache/var/cache), the panel will faithfully show you stale debug data. Clear caches first.Resources/views/Collector/; if a value is missing, var_dump from the collector's collect() method is faster than reading the Twig template.require-dev, and document the PHP version constraint. If you're on modern eZ Platform, the legacy bridge is itself deprecated — invest in Symfony's native profiler + Monolog channels instead.How can I help you explore Laravel packages today?