call_user_func_003.phpt 528 B

12345678910111213141516171819202122232425262728293031
  1. --TEST--
  2. Testing call_user_func() with closures
  3. --FILE--
  4. <?php
  5. $foo = function() {
  6. static $instance;
  7. if (is_null($instance)) {
  8. $instance = function () {
  9. return 'OK!';
  10. };
  11. }
  12. return $instance;
  13. };
  14. var_dump(call_user_func(array($foo, '__invoke'))->__invoke());
  15. var_dump(call_user_func(function() use (&$foo) { return $foo; }, '__invoke'));
  16. ?>
  17. --EXPECTF--
  18. string(3) "OK!"
  19. object(Closure)#%d (1) {
  20. ["static"]=>
  21. array(1) {
  22. ["instance"]=>
  23. object(Closure)#%d (0) {
  24. }
  25. }
  26. }