Le mar. 24 févr. 2026 à 20:06, Larry Garfield <[email protected]> a
écrit :

> On Mon, Feb 23, 2026, at 1:49 AM, Nicolas Grekas wrote:
> > Le dim. 22 févr. 2026 à 19:14, Tim Düsterhus <[email protected]> a écrit
> :
> >> Hi
> >>
> >> On 2/19/26 10:49, Nicolas Grekas wrote:
> >> > Thanks, I've added new test cases to cover this.
> >> > I've also improved tests as suggested on the PR.
> >> > And finally I updated the implementation to reuse IS_PROP_REINITABLE
> >> > instead of adding new flags + use an approach that doesn't require
> walking
> >> > the call stack.
> >> > PR and RFC updated accordingly, all green.
> >>
> >> Thank you. The implementation looks much simpler now and the tests all
> >> make sense to me and I can't think of any other relevant “edge case”.
> >>
> >> I have one more comment regarding the RFC text, which should result in
> >> “minor” changes as per the policy of making clarifying changes:
> >>
> >> 1. “Set in child before parent::__construct()” also fails, since the
> >> property slot is not yet initialized:
> >>
> >> That explanation and example does not seem to be quite correct: It's
> not
> >> the `$this->x = 'C';` assignment that fails, it's the implicit CPP
> >> assignment when calling parent::__construct(). The explanation should
> be
> >> fixed and the `// Error: Cannot modify readonly property P::$x` comment
> >> should be moved to the `parent::__construct()` call.
> >>
> >> The test in the implementation was already correct.
> >>
> >
> > Hi Tim,
> >
> > Good catch thanks, wording updated!
> > The RFC is ready then. Any other comments from anyone else?
> >
> > Nicolas
>
> Two minor non-substantive points.
>
> 1. The "supported operations" section all the way at the bottom seems
> redundant.  That was already specified earlier.
>
> 2. It could be helpful to include an example of using property hooks in
> the intro; there's an example of the other 2 options, but not of hooks,
> which are also mentioned as a not-always-ideal alternative.  (Let me know
> if you want help or suggestions with that example.)
>
> Otherwise, I'm happy with where this ended up.  Thanks!
>
>
Thanks for having a look!
Here is the update:
https://wiki.php.net/rfc/promoted_readonly_constructor_reassign?do=diff&rev2%5B0%5D=1771797005&rev2%5B1%5D=1771961558&difftype=sidebyside

Cheers,
Nicolas

Reply via email to