Maybe my brain just isn't working and there's some obvious explanation for this, but for now I'm bewildered.

When I test, I find that __get() and __set() will intercept member variable access even if they're private or protected, but when I try to make __call() private, I get an error message. The examples in the PHP manual seem to reflect this difference.

Any ideas?