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


-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to