Hi Richard:

On 01 Dec 2010, at 10:57, Richard Quadling wrote:
> If we think of properties as this new entity for the language (rather
> than somehow massaging existing entities to fit a new usage scenario),
> then
> 
> isset($instance->property) will always return true for any defined
> property. Even if the getter would return null. This is new behaviour
> and can be easily documented. isset() for a property is more like
> method_exists() than isset() on a variable.
I tend to see that rather different.
Properties are not about methods, properties as in C# are about abstracting 
from the actual realization of how the state is represented internally that is 
exposed by a property.

Thus, properties like proposed here should be used to provide the illusion of 
having normal class variables. And in that scenario it makes sense to talk 
about the value the property represents and not the fact that there are methods.

So, from my point of view isset/unset have perfectly valid semantics on many of 
the usual cases.
Even so, I agree, there are cases where that is not so, but in those cases 
isset/unset could be specialize like set/get.

Best regards
Stefan



-- 
Stefan Marr
Software Languages Lab
Vrije Universiteit Brussel
Pleinlaan 2 / B-1050 Brussels / Belgium
http://soft.vub.ac.be/~smarr
Phone: +32 2 629 2974
Fax:   +32 2 629 3525


--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to