Hi! > I think we are still not on the same page here. The exact point is > to *not* put accessors into the method table. As such the accessors > aren't special, half-hidden methods (like they are with the current > implementation), rather they are *just* accessors and nothing else.
Accessors are not "half-hidden" now - they are just methods. That's the beauty and simplicity of it, and that's exactly why it works. I want to keep the simplicity and not invent unnecessary complicated entities. Keep it simple. > It's all about making accessors accessors, rather than making them Sorry, I don't understand the meaning of this. You obviously have a preconception of how "accessors" should be, but please understand it's only obvious and natural to you, because it's yours. To me, and I'm sure to many other PHP users, it's an elaborate and complex, yet unnecessary construct, that works almost like methods but subtly different for some reason, and has no precedence in whole PHP history (and, actually, any other dynamic language history, as far as I can see). In my opinion, this is completely unnecessary, and even more - harmful. I'd like to keep PHP simple and have just methods as methods, just as they were in PHP for many years. > Accessors need to be considered separately anyway, otherwise you end > up with the problems that we currently have, where you can't > override a property with an accessor in an extending class or the > other way around. Having those pseudo-methods makes this even more > complicated, This has nothing to do with precedence of variable access resolution, and nobody proposes pseudo-methods. The whole point is I am proposing *not* to do pseudo-methods, but use regular methods instead. > Again, this has to be done anyway and is already done. Accessors > need It does not matter. Unnecessarily complicated code in the engine is bad even if somebody already implemented it - because unneeded complexity is always harmful and it hurts even more over time, as everybody needs to support it and deal with it and make it work with all the rest of the engine. Keeping it simple is a very high priority. > I think it's the other way around. As I already said above, the > accessors won't be methods. So you don't have to consider anything. That's what I think is completely wrong. They work exactly like methods and that's what they should be. > maybe during debugging or whatever). Now you either have to > explicitly consider them in your code, for they are not actual > methods, or the They *are* actual methods, or they should be. You just don't want them to be, but that's where it is wrong, because it creates unnecessary complexity, both conceptual and technical. -- Stanislav Malyshev, Software Architect SugarCRM: http://www.sugarcrm.com/ (408)454-6900 ext. 227 -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php