On Sat, Jun 3, 2023, 21:11 Dan Ackroyd <dan...@basereality.com> wrote:

> Hi internals,
>
> I'm now opening the discussion for the Closure self-reference RFC:
> https://wiki.php.net/rfc/closure_self_reference
>
> This was previously discussed as a draft here:
> https://externals.io/message/112216#112216
>
> Thank-you to KapitanOczywisty for the implementation.
>
>
Hi Dan,

How about a keyword/variable to the current executing closure that works
also if you refactor it to a function or a method.
Just like self for a class we can have a keyword like fnself or a variable
like $fnself that is automatically available inside the body.
For a closure it would be the closure itself while for a function / method
it can be even just a little syntactic sugar to functionName(...) /
self::methodName(...) (not using polymorphism intentionally).
Maybe we decide not to implement this right now for functions/methods but
we can at least choose a name that has a wider meaning.

As we are talking references, I think there should be a mention in the RFC
about how GC will (not?) be impacted?
Is the closure reference count incremented just when the Closure execution
starts, with no impact on GC?


Regards,
Alex

Reply via email to