> 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