Re: [RFC] Lazy Objects
| From: | Gina P. Banyard | Date: | Tue, 25 Jun 2024 15:59:41 +0000 |
| Subject: | Re: [RFC] Lazy Objects | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-123824@lists.php.net to get a copy of this message | ||
On Tuesday, 4 June 2024 at 13:28, Nicolas Grekas <nicolas.grekas+php@gmail.com> wrote:
> Dear all,
>
> Arnaud and I are pleased to share with you the RFC we've been shaping for over a year to
> add native support for lazy objects to PHP.
>
> Please find all the details here:
> https://wiki.php.net/rfc/lazy-objects
>
> We look forward to your thoughts and feedback.
>
> Cheers,
> Nicolas and Arnaud
Hello,
I don't have any strong opinions about the feature in general, mainly because I don't
understand the problem space.
However, I have some remarks.
The fact that an initialize() method has a $skipInitializer parameter doesn't make a lot of
sense to me.
Because at a glance, I don't see how passing true to it, and not calling the method is
different?
This should probably be split into two distinct methods.
Does get_mangled_object_vars() trigger initialization or not?
This should behave like an (array) cast (and should be favoured instead of an array cast as it was
introduced for that purpose).
How does a lazy object look like when it has been dumped?
> The initializer must return null or no value
*Technically* all functions in PHP return a value, which by default is null, so this is somewhat
redundant.
Also, would this throw a TypeError if a value other than null is returned?
Best regards,
Gina P. Banyard