Re: Add ReflectionFunctionAbstract::isAnonymous()
> Le 21 oct. 2021 à 01:12, Dylan K. Taylor <dktapps@pmmp.io> a écrit :
>
> Hi all,
>
> Given the addition of Closure::fromCallable() and the upcoming first-class callable syntax in
> 8.1, it seems slightly problematic that there's no simple way to tell by reflection if a
> Closure refers to an anonymous function or not. ReflectionFunctionAbstract::isClosure() (perhaps
> somewhat misleadingly) returns whether the closure is literally a \Closure instance, so it's
> not useful for this purpose.
>
> The only way to do this currently (that I know about) is to check if the name of the function
> contains "{closure}", which is a bit unpleasant and depends on undocumented behaviour.
>
> I'm proposing the addition of ReflectionFunctionAbstract::isAnonymous(), which would fill
> this use case, and may be able to offer an implementation.
>
> Thanks,
> Dylan Taylor.
>
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: https://www.php.net/unsub.php
>
Hi,
Per the manual [1], Closure::fromCallable() “creates and returns a new anonymous function”. I
guess that this might not match your notion of “anonymous function”?
Therefore, I am asking for clarification: What practical distinction do you make between ”an
instance of Closure” and “an anonymous function”, and why does this distinction matter?
[1]: https://www.php.net/manual/en/closure.fromcallable.php
<https://www.php.net/manual/en/closure.fromcallable.php>
—Claude
Thread (6 messages)