dynamic_call_005.phpt 721 B

123456789101112131415161718192021222324252627282930313233343536
  1. --TEST--
  2. Dynamic calls to scope introspection functions are forbidden
  3. --FILE--
  4. <?php
  5. function test_calls($func) {
  6. $i = 1;
  7. try {
  8. array_map($func, [['i' => new stdClass]]);
  9. var_dump($i);
  10. } catch (\Error $e) {
  11. echo $e->getMessage() . "\n";
  12. }
  13. try {
  14. $func(['i' => new stdClass]);
  15. var_dump($i);
  16. } catch (\Error $e) {
  17. echo $e->getMessage() . "\n";
  18. }
  19. try {
  20. call_user_func($func, ['i' => new stdClass]);
  21. var_dump($i);
  22. } catch (\Error $e) {
  23. echo $e->getMessage() . "\n";
  24. }
  25. }
  26. test_calls('extract');
  27. ?>
  28. --EXPECT--
  29. Cannot call extract() dynamically
  30. Cannot call extract() dynamically
  31. Cannot call extract() dynamically