Tool
Xdebug
Step debugger, coverage and profiling for PHP — seeing the call stack instead of guessing with dumps.
Xdebug’s particularity is that it instruments the engine: breakpoints, step into, watches. That is still the fastest way to understand a Symfony container or an Ibexa permission check. var_dump is not a debugger.
Coverage mode feeds PHPUnit reports. Profiling (cachegrind) finds hot paths when “it feels slow” is not a metric. In Docker, the extension is on in dev images and off in prod — never the other way around.
A senior knows how to attach the IDE (Cursor, VS Code, PhpStorm) to the FPM container. Without that, complex bugs stay folklore.