Hi Marco Pivetta, > I'm posting here to introduce a new simplification, as well as > quality-of-life-improving RFC: > > https://wiki.php.net/rfc/make-reflection-setaccessible-no-op > > The RFC is quite minimal, and proposes removing any runtime behavior from > `ReflectionMethod#setAccessible()` and > `ReflectionProperty#setAccessible()`, making `ReflectionMethod` and > `ReflectionProperty` accessible by default. > > The rationale is: > > * this API is probably coming from a copy-pasted java-ism (although I > couldn't verify that, so I did not factor it into the RFC) > * removes the last bit of mutable state from `ReflectionProperty` and > `ReflectionMethod` > * simplifies usage of the API > * if I'm up to no good, I don't need to actually solemnly swear that i am > up to no good (that's stuff for fantasy books) > > I don't really know what the deadline for 8.1 features is, but I assume > it's coming up quite quickly, so friendly NikiC poked me to see if this > long-standing patch of mine was still relevant. > > Should be short/sweet, but I'm looking forward to your feedback.
The deadline for new features for 8.1 is July 20: https://wiki.php.net/todo/php81 (with some discretion from the release managers, e.g. for amendments to changes already made in 8.1) I think that isAccessible should be added if any applications actually did depend on ReflectionException being thrown for correctness - they could throw their own exception if isAccessible was false. (e.g. for code meant to handle possibly undefined public typed properties by checking for initialization then getting the value) I can't actually remember needing this personally, though, since `$obj->{$method}()` could be used. I've only used this to access private and protected properties/methods. Regards, Tyson -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: https://www.php.net/unsub.php