Hi
[dropping most of the folks from the Cc list to reduce noise a little]
On 7/18/25 19:08, Nick wrote:
As mentioned earlier, this is my very first RFC. I am at a point where I am a
bit overwhelmed.
With an RFC touching core language semantics, you've certainly opted to
touch a hot topic. Even for me, as an experienced contributor to
Internals and the PHP language that was quite a few emails to work
through, so I totally get being overwhelmed.
I think a big contributor to this is that you've choosen a
less-than-ideal time to propose the RFC. As you are well-aware, by now
feature freeze is in less than 4 weeks. Many of the core contributors,
including myself, are busy with wrapping up the implementation of their
own RFCs or helping with the review of others. Keeping track of multiple
last-minute RFCs at the same time and carefully thinking about the
implications and then, should the RFC pass, also about the
implementation is really demanding.
I'm in the lucky position that I can spend part of my company time
contributing to PHP, proposing RFCs and also providing feedback on other
RFCs. But I can't make this my full-time job, so I've specifically set
aside several hours my free time today to catch up with the thread to be
able to provide my feedback on the RFC. The announcement of the upcoming
vote has caused me to send out several emails all over the thread that
were less refined than would be usual for me, because I felt the need to
get out *something* before it's too late.
That said, Larry and I heard you and already decided to offer a split vote to
enable us to at least land “set only” in 8.5.
If we didn’t misunderstood it, then y’all agreed on `set` (only) should be
allowed?
I am unable to come up with arguments against supporting a set hook for
readonly properties. While I'm not sure I would be in favor (I would
need to think about this more), I would not be against. So I might
abstain or I might vote in favor after I had time to fully think about it.
> Not exactly what I wanted, but it is what it is.
I totally understand it's discouraging when needing to wait for another
year before being able to make use of one's own contributions. But at
the same time any change to the language has a big impact on the
ecosystem and needs to work not for just one year, but for 10 or more
years. Some things can probably never be removed from the language. So
to me it's important to err on the side of caution. "No is temporary,
yes is forever".
I offer to follow up with a “readonly `init` hook” RFC for 8.6 to sort the rest.
I'm certainly happy to help out with figuring out all the important
details and possible edge cases for an "init hook" RFC for the PHP 8.6
cycle. Note how I specifically left out the "readonly" there, since I
don't think there is a need to restrict "init" to just readonly properties.
I’d appreciate if voters could settle on a yes for “set only” for 8.5.
Wdyt? Would this help to get closer to closing the discussion?
From my side, removing the get hook part from the RFC would definitely
settle the discussion.
Best regards
Tim Düsterhus