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.

Reply via email to