dynamic_call_006.phpt 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. --TEST--
  2. Dynamic calls to scope introspection functions are forbidden (function variations)
  3. --FILE--
  4. <?php
  5. function test() {
  6. try {
  7. $func = 'extract';
  8. $func(['a' => 'b']);
  9. } catch (\Error $e) {
  10. echo $e->getMessage() . "\n";
  11. }
  12. try {
  13. $func = 'compact';
  14. $func(['a']);
  15. } catch (\Error $e) {
  16. echo $e->getMessage() . "\n";
  17. }
  18. try {
  19. $func = 'get_defined_vars';
  20. $func();
  21. } catch (\Error $e) {
  22. echo $e->getMessage() . "\n";
  23. }
  24. try {
  25. $func = 'func_get_args';
  26. $func();
  27. } catch (\Error $e) {
  28. echo $e->getMessage() . "\n";
  29. }
  30. try {
  31. $func = 'func_get_arg';
  32. $func(1);
  33. } catch (\Error $e) {
  34. echo $e->getMessage() . "\n";
  35. }
  36. try {
  37. $func = 'func_num_args';
  38. $func();
  39. } catch (\Error $e) {
  40. echo $e->getMessage() . "\n";
  41. }
  42. }
  43. test();
  44. ?>
  45. --EXPECT--
  46. Cannot call extract() dynamically
  47. Cannot call compact() dynamically
  48. Cannot call get_defined_vars() dynamically
  49. Cannot call func_get_args() dynamically
  50. Cannot call func_get_arg() dynamically
  51. Cannot call func_num_args() dynamically