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

Reply via email to