On Tuesday, 4 June 2024 at 13:28, Nicolas Grekas <[email protected]> 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