Crypto Compress wrote (on 12/02/2014):
It still feels to me that someone debugging the implementation of the object, rather than its interaction with the system, would have plenty of opportunity to by-pass / remove the hook anyway.
What about a phar?
My point was that if you're debugging the *implementation*, you're going to be looking at the source tree, not the distribution.
If you're looking at a distributed version, your main interest is in how to *use* the objects, which the maintainer can give you hints for via __debugInfo()
It's not easy nor fast to change X times __debugInfo() methods.
True. I can't really picture somebody adding carefully crafted methods to every class they write, though; more likely, it will be defined in some ancestor class, or maybe even a trait, so you'd change it there, and the whole object graph would go back to "normal".
I guess generated code might include it, but then you'd probably have the option of re-generating it without (again, if you were interested in the *implementation* of the objects, rather than just the *use* of them).
Regards,
some cool ideas worth spreading :)