Hello Stas,

> In PHP, of course, class properties are dynamic, so you can add and
> delete them at will. It is a standard feature of dynamic languages. For
> a person coming from strict compiled language like C# it might be
> unusual, but that's how dynamic languages work.

No not unusual at all.  You can dynamically add properties to class
instances in C# as well.  My point was that methods cannot dynamically be
added or removed from class instances, even though variables can.

I think what it comes down to, is it wont be possible to remove the actual
property definition from the instance, but just be able to hide it, or
make it appear like it is missing, to be consistent with the behaviour of
standard variables.

This makes for another issue though.  If I unset() the property $foo, and
then (because its gone), attempt to set $foo to something else, this is
going to activate the property definitions set method, when I only
expected a variable to be created.  This is because the property
definition still exists, but is just hiding (returning false from its
isset handler).  How should this situation be handled?


- Dennis


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

Reply via email to