On Wed, Feb 21, 2024 at 7:59 PM Larry Garfield <la...@garfieldtech.com> wrote: > > Hello again, fine Internalians. > > After much on-again/off-again work, Ilija and I are back with a more polished > property access hooks/interface properties RFC. It’s 99% unchanged from last > summer; the PR is now essentially complete and more robust, and we were able > to squish the last remaining edge cases. > > Baring any major changes, we plan to bring this to a vote in mid-March. > > https://wiki.php.net/rfc/property-hooks > > It’s long, but that’s because we’re handling every edge case we could think > of. Properties involve dealing with both references and inheritance, both of > which have complex implications. We believe we’ve identified the most > logical handling for all cases, though. > > Note the FAQ question at the end, which explains some design choices. > > There’s one outstanding question, which is slightly painful to ask: > Originally, this RFC was called “property accessors,” which is the > terminology used by most languages. During early development, when we had 4 > accessors like Swift, we changed the name to “hooks” to better indicate that > one was “hooking into” the property lifecycle. However, later refinement > brought it back down to 2 operations, get and set. That makes the “hooks” > name less applicable, and inconsistent with what other languages call it. > > However, changing it back at this point would be a non-small amount of grunt > work. There would be no functional changes from doing so, but it’s lots of > renaming things both in the PR and the RFC. We are willing to do so if the > consensus is that it would be beneficial, but want to ask before putting in > the effort. > > -- > Larry Garfield > la...@garfieldtech.com
This is a reply to Marco (https://externals.io/message/122445#122449) for which I didn't actually receive the email but got an email from the list that I didn't receive the email -- seems like it would have been simpler and more correct to resend the email. That is a bit weird, but whatever. > Given the extensive work of this RFC, it seems pretty obvious that > this syntax will not work, I just don't know why. I feel like the syntax is natural, coming from other languages with this feature. However, I really do appreciate the example Marco gives as it feels very idiomatically PHP with all the getters/setters we are used to writing. It also means a pretty simple "just add a space and downcase" to switch from traditional methods to getters/setters to hooks, which could be really nice.