Closure::getCurrent() pour atteindre la closure
<?php
$fibonnacci = function (int $n, $previous2 = 0, $previous1 = 1) {
if ($n <= 1) {
return $previous2 + $previous1;
}
$closure = Closure::getCurrent();
return $closure($n - 1, $previous1, $previous1 + $previous2);
};
print $fibonnacci(4);
J’étais content de voir PHP ajouter Closure::getCurrent().
Maintenant que je l’utilise, je ne peux m’empêcher de penser qu’on devrait ajouter un Closure::callCurrent(/* ... */).
Je ne veux pas affecter une variable, je n’ai pas besoin de l’objet en tant que tel. Invoquer le retour d’une fonction en ligne semble aussi inutilement lourd.
See Also
- Original tweet
- Access The Closure [Try me]
PHP Features
Last updated: 11 October 2026