Re: [RFC] Property Hook improvements
On Wed, Jul 3, 2024, at 14:28, Claude Pache wrote:
>
>
>> Le 3 juil. 2024 à 11:54, Claude Pache <[email protected]> a écrit :
>>
>>
>> 2. As for readonly, I think that the invariant it is supposed to provide should be enforced
>> as strictly as possible. It means that readonly
is only acceptable if there is no
>> get
hook.
>
> Hi,
>
> One more thing, why I think that we should be strict here. It is not just for preventing the
> user to write *dumb* code, it is also for preventing them to write *creative* code, e.g.
>
> ```php
> class doc {
> public readonly int page {
> get => $this->page + $this->offset;
> }
> private int $offset = 0;
> public function __construct(int $page) {
> $this->page = $page;
> }
> public function foo() {
> // $this->offset may be adjusted here
> }
> }
> ```
>
> —Claude
I don't see anything wrong with that code. $page doesn't say "immutable" it says
"readonly", as in "cannot write to".
— Rob
Thread (17 messages)