On Tue, Feb 24, 2026, at 1:34 PM, Nicolas Grekas wrote:

>> 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

> Property hooks cannot be combined with CPP, so properties must be declared 
> separately

This is untrue.  The following code is legal:

class Point {
    public function __construct(
        public float $x = 0.0 { set => abs($value); }, 
        public float $y = 0.0 { set => abs($value); },
    ) {}
}

The point about readonly is valid, and worth keeping, as is the "affects all 
writes" question, but the code above is possible.

--Larry Garfield

Reply via email to