Hello Internals, This discussion was very interesting to me so I made some research about all languages OOP. Each time I saw definition of public, protected, private there was an explanation which never mentioned instances, but classes. I certainly thought that Richard is right saying:
Surely it shouldn't work at all unless the $foo === $this? I was even amazed that I haven't thought about this ever...and the conclusion of my research is that as, like Stanislav said, this keywords(public, etc) are for classes not for instances... I learned something new today :) Thanks for this discussion. Best Regards, Dimitar Isusov