Closures and __FUNCTION__

From: Date: Sun, 12 Apr 2009 02:51:00 +0000
Subject: Closures and __FUNCTION__
Groups: php.internals 
Request: Send a blank email to internals+get-43665@lists.php.net to get a copy of this message
The original anonymous functions patch[1] contained support for __FUNCTION__ as a recursion mechanism in closures, such that I should be able to do something like this: $factorial = function($n) { if ($n == 1) return 1; else return $n * call_user_func(__FUNCTION__, $n - 1); }; print $factorial(3); // => 6 It fails with a warning, though: Warning: call_user_func() expects parameter 1 to be a valid callback, function '{closure}' not found or invalid function name Is there another recursion mechanism for closures besides something like the $GLOBALS['factorial'] hack? Footnotes: [1] http://marc.info/?l=php-internals&m=119995982228453&w=2

« previous php.internals (#43665) next »