I believe that yes, a debugger works just as well, but is a waste of time stepping through crap. If I can dump stuff on run time and be quick about things, Id rather do that on my dev box then step through crap. I have the zend debugger installed on my dev box but I think have used it a handful of times.
What fundamental flaw are you referring to?
---------------------
What it gets down to is this. A private method shouldn't and isn't accessible by any other object...right? Would that mean Object A looking at Object B's private method be ok? (this sounds horrible) Shouldn't a private method but invisible so to speak to anything outside of itself.
With that thought:
Why would we throw a fatal error when trying to call it if according to object A, the private method in object B isn't accessible. Wouldn't it make sense in the case that it is not visible by something outside itself to invoke the __call() magic method even if __call simply calls the private method by that name?
I suppose the real question isn't my clouded jankie way of unit testing (which for the record I never did, just made it up for discussion sake. . . lol ) or debugging, but whether or not PHP is operating as it should when it tosses a fatal on attempts to access a defined method in a class that is either protected or private when a __call method is present.