Re: [RFC] Property hooks, nee accessors

From: Date: Mon, 29 May 2023 20:28:59 +0000
Subject: Re: [RFC] Property hooks, nee accessors
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-120440@lists.php.net to get a copy of this message
> Le 8 mai 2023 à 23:38, Larry Garfield <larry@garfieldtech.com> a écrit : > > Ilija Tovilo and I would like to offer another RFC for your consideration. It's been a > while in coming, and we've evolved the design quite a bit just in the last week so if you saw > an earlier draft of it in the past few months, I would encourage you to read it over again to make > sure we're all on the same page. I'm actually pretty happy with where it ended up, even > if it's not the original design. This approach eliminates several hard-to-implement edge cases > while still providing a lot of functionality in one package. > > https://wiki.php.net/rfc/property-hooks > Hi, If I understand correctly, given: <?php class C { public int $someInt; public float $someFloat; public int $someIntWithHook { get => $field; set => $field = $value; } public float $someFloatWithHook { get => $field; set => $field = $value; } } ?> we have: <?php $obj = new C; var_dump($obj->someInt = 42.0); // int(42) var_dump($obj->someFloat = 42); // float(42) ?> but: <?php $obj = new C; var_dump($obj->someIntWithHook = 42.0); // float(42) var_dump($obj->someFloatWithHook = 42); // int(42) ?> If I am correct, it means that the “This also implies that adding a set hook to a property cannot change the result of the = operator” statement is a bit too optimistic. —Claude

« previous php.internals (#120440) next »