Re: [RFC[ Property accessor hooks, take 2

From: Date: Thu, 22 Feb 2024 08:34:40 +0000
Subject: Re: [RFC[ Property accessor hooks, take 2
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-122451@lists.php.net to get a copy of this message
On Wed, Feb 21, 2024 at 7:59 PM Larry Garfield <larry@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 > larry@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.

« previous php.internals (#122451) next »