Hi!

> If I got it right now, what Stas wants is that we introduce __getFoo
> and __setFoo methods that will be called whenever an undefined ->foo
> property is accessed and that the "normal" property accessors syntax
> is made nothing more than a fancy notation for this.

Yes, pretty much, though "undefined" bit is not required I think. Not
100% convinced on this, but from user reqs it sounds like they want to
drop the undefined bit.

> A) Inheritance:
> ==========
> 
>     class A {
>         public $foo;
>     }
> 
>     class B extends A {
>         public $foo { get() { ... } set($value) { ... } }
>     }
> 
> => With the accessors syntax there is an expectation that the accessor
> declaration will override the previous plain property. At least that's
> what I would expect and that's what the code looks like

That's why I'm not liking the "undefined" bit.

> => With the magic syntax there is the expectation that the $foo
> property will not be overridden. Rather the magic functions are
> expected to do nothing, because the property already exists.

Err, I'm not sure why that would be the expectation. __get is for
undefined properties, since, well, it doesn't have any property name
attached, so it can't really be for defined properties :) However,
__getFoo (with whatever variations the bikeshedding committee will end
up with :) has property name attached to it, so requiring property be
undefined is not, well, required. Here we need to think which way is
better, and I currently tend to think accessor priority is better.

-- 
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