Currently ReflectionProperty::setValue() ignores the setting made by
ReflectionProperty::setAccessible(). Is this intentional or was it just
forgotten to handle ref->ignore_visibility in setValue()?
For some code I am working on it would be really helpful if setValue()
could optionally work with private and protected attributes.
--
Sebastian Bergmann http://sebastian-bergmann.de/
GnuPG Key: 0xB85B5D69 / 27A7 2B14 09E4 98CD 6277 0E5B 6867 C514 B85B 5D69
Hello Sebastian,
allowing to read is more than enough. And ofr the record I did not like
that at all. If you need to write to a private variable, then obviously
your class design is wrong. And testing is no argument, as you can nicely
design so that this is not necessary.
marcus
Wednesday, November 12, 2008, 8:29:05 PM, you wrote:
Currently ReflectionProperty::setValue() ignores the setting made by
ReflectionProperty::setAccessible(). Is this intentional or was it just
forgotten to handle ref->ignore_visibility in setValue()?
For some code I am working on it would be really helpful if setValue()
could optionally work with private and protected attributes.
--
Sebastian Bergmann http://sebastian-bergmann.de/
GnuPG Key: 0xB85B5D69 / 27A7 2B14 09E4 98CD 6277 0E5B 6867 C514 B85B 5D69
Best regards,
Marcus
Marcus Boerger wrote:
And testing is no argument, as you can nicely design so that this
is not necessary.
For once, testing is not the argument :-) But this is not the place to
discuss what I would like to use this feature for.
I do not see why we added setAccessible() for getValue() and not
setValue() when do not actually need it for getValue() [1].
--
[1] http://www.derickrethans.nl/private_properties_exposed.php
--
Sebastian Bergmann http://sebastian-bergmann.de/
GnuPG Key: 0xB85B5D69 / 27A7 2B14 09E4 98CD 6277 0E5B 6867 C514 B85B 5D69
Sebastian Bergmann schrieb:
Currently ReflectionProperty::setValue() ignores the setting made by
ReflectionProperty::setAccessible(). Is this intentional or was it just
forgotten to handle ref->ignore_visibility in setValue()?
See http://bugs.php.net/bug.php?id=46718 for a patch that implements the
missing functionality in ReflectionProperty::setValue().
--
Sebastian Bergmann http://sebastian-bergmann.de/
GnuPG Key: 0xB85B5D69 / 27A7 2B14 09E4 98CD 6277 0E5B 6867 C514 B85B 5D69
Sebastian Bergmann schrieb:
Currently ReflectionProperty::setValue() ignores the setting made by
ReflectionProperty::setAccessible(). Is this intentional or was it just
forgotten to handle ref->ignore_visibility in setValue()?See http://bugs.php.net/bug.php?id=46718 for a patch that implements the
missing functionality in ReflectionProperty::setValue().
We shouldn't really modify test cases though, but just add new ones.
Other than that it looks ok, and yes, I simply forgot about this when
adding this.
Derick
--
HEAD before 5_3!: http://tinyurl.com/6d2esb
http://derickrethans.nl | http://ezcomponents.org | http://xdebug.org
Derick Rethans schrieb:
We shouldn't really modify test cases though, but just add new ones.
I only modified the existing test case because it contained dead code
and looked a bit confusing to me when I first read it.
Other than that it looks ok, and yes, I simply forgot about this when
adding this.
Thanks!
--
Sebastian Bergmann http://sebastian-bergmann.de/
GnuPG Key: 0xB85B5D69 / 27A7 2B14 09E4 98CD 6277 0E5B 6867 C514 B85B 5D69