Debugging code has always been a tricky prospect. Most people use one of two methods: Either include "log" statements to see whats going on while running a routine, and then either delete them, or comment them out when they are done,
(For legacy code, the commenting it out mechanism is often used so that the code is left to uncomment the next time that piece of code is worked on) or you can rely on a "debugger" to trace whats going on, and then look thru the more copious output.
PHP does not really HAVE a good debugger, so most PHP developers are left to write output statements.
Remembering WHERE those debug statements are so your log files don't fill up can also be a pain.
The DebugObject class is a "take" on instrumenting your code but it's output can be easily turned on and off for any section of your code. This way you write the debug code you want, and leave it in your codebase, but the object knows when to execute that code, so it generates ONLY the output that you want.
There are no 5 star reviews.