閉包可以是匿名的,也可以不是。
以下是一個匿名閉包
$c1 = function () {};
以下是一個*非*匿名閉包
$c2 = Closure::fromCallable(['Foo', 'bar']);
ReflectionFunction::isAnonymous() 對 $c1 返回 true,對 $c2 返回 false。
在 PHP 8.2 之前,必須進行此檢查才能區分兩者
$r = new \ReflectionFunction($c1);
$isAnonymous = false !== strpos($r->name, '{closure}');
ReflectionFunction::isAnonymous() 讓檢查更容易。