ID: 24808 Comment by: de_bruut at hotmail dot com Reported By: Bertrand dot Willm at laposte dot net Status: Analyzed Bug Type: Zend Engine 2 problem Operating System: * PHP Version: 5* New Comment:
Quick suggestion: Please consider adding the same overloading functionality ( __call() ) for private and protected methods. Previous Comments: ------------------------------------------------------------------------ [2004-05-31 23:14:28] [EMAIL PROTECTED] That seems to be the best solution. ------------------------------------------------------------------------ [2004-05-30 14:43:07] [EMAIL PROTECTED] After talking with Andi, I think it's a valid issue and what needs to be done is to make accessors (__get/__set) be called on access to variables that are not visible in current context. This still would not change the fact that acessors are not called on existing variables, but invisible variables in this context would be regarded as good as unexisting. ------------------------------------------------------------------------ [2003-10-16 05:03:46] [EMAIL PROTECTED] The behavior is absolut correct. Since the property 'var' is declared private it cannot be accessed. And also since it is a declared property there is no need for the engine to execute __call(). Both __get() and __set() are only there to handle virtual properties (aka not declared ones). Double check #25815 and #25199 ------------------------------------------------------------------------ [2003-07-28 18:50:06] alan at akbkhome dot com This has been discussed on zend2-engine, getters and setters on 'defined' vars is a feature that a number of people would like to see.. AFAIK It just needs a voluteer to propose some code.. ------------------------------------------------------------------------ [2003-07-28 17:49:44] Bertrand dot Willm at laposte dot net It is quite nice to tell me to double-check the documentation, but I don't see were it is written that the name given to __get and __set methods can't correspond to private or protected members. If it is not written, this could be nice to add that information in the documentation. Perhaps that for a clean programmation this is not a good idea to use the same name for members and properties. Anyway, after analisys, I found that the current implementation of __get and __set is an unsatsifactory answer to properties. It is far away from what is proposed in C#, Delphi (and of course C++ builder) or visual basic. To my knowledge, there is no equivalent in java or C++. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/24808 -- Edit this bug report at http://bugs.php.net/?id=24808&edit=1