025.phpt 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. --TEST--
  2. ReflectionFunction basic tests
  3. --SKIPIF--
  4. <?php extension_loaded('reflection') or die('skip'); ?>
  5. --INI--
  6. opcache.save_comments=1
  7. opcache.load_comments=1
  8. --FILE--
  9. <?php
  10. /**
  11. hoho
  12. */
  13. function test ($a, $b = 1, $c = "") {
  14. static $var = 1;
  15. }
  16. $func = new ReflectionFunction("test");
  17. var_dump($func->export("test"));
  18. echo "--getName--\n";
  19. var_dump($func->getName());
  20. echo "--isInternal--\n";
  21. var_dump($func->isInternal());
  22. echo "--isUserDefined--\n";
  23. var_dump($func->isUserDefined());
  24. echo "--getFilename--\n";
  25. var_dump($func->getFilename());
  26. echo "--getStartline--\n";
  27. var_dump($func->getStartline());
  28. echo "--getEndline--\n";
  29. var_dump($func->getEndline());
  30. echo "--getDocComment--\n";
  31. var_dump($func->getDocComment());
  32. echo "--getStaticVariables--\n";
  33. var_dump($func->getStaticVariables());
  34. echo "--invoke--\n";
  35. var_dump($func->invoke(array(1,2,3)));
  36. echo "--invokeArgs--\n";
  37. var_dump($func->invokeArgs(array(1,2,3)));
  38. echo "--returnsReference--\n";
  39. var_dump($func->returnsReference());
  40. echo "--getParameters--\n";
  41. var_dump($func->getParameters());
  42. echo "--getNumberOfParameters--\n";
  43. var_dump($func->getNumberOfParameters());
  44. echo "--getNumberOfRequiredParameters--\n";
  45. var_dump($func->getNumberOfRequiredParameters());
  46. echo "Done\n";
  47. ?>
  48. --EXPECTF--
  49. /**
  50. hoho
  51. */
  52. Function [ <user> function test ] {
  53. @@ %s 6 - 8
  54. - Parameters [3] {
  55. Parameter #0 [ <required> $a ]
  56. Parameter #1 [ <optional> $b = 1 ]
  57. Parameter #2 [ <optional> $c = '' ]
  58. }
  59. }
  60. NULL
  61. --getName--
  62. string(4) "test"
  63. --isInternal--
  64. bool(false)
  65. --isUserDefined--
  66. bool(true)
  67. --getFilename--
  68. string(%d) "%s025.php"
  69. --getStartline--
  70. int(6)
  71. --getEndline--
  72. int(8)
  73. --getDocComment--
  74. string(11) "/**
  75. hoho
  76. */"
  77. --getStaticVariables--
  78. array(1) {
  79. ["var"]=>
  80. int(1)
  81. }
  82. --invoke--
  83. NULL
  84. --invokeArgs--
  85. NULL
  86. --returnsReference--
  87. bool(false)
  88. --getParameters--
  89. array(3) {
  90. [0]=>
  91. &object(ReflectionParameter)#2 (1) {
  92. ["name"]=>
  93. string(1) "a"
  94. }
  95. [1]=>
  96. &object(ReflectionParameter)#3 (1) {
  97. ["name"]=>
  98. string(1) "b"
  99. }
  100. [2]=>
  101. &object(ReflectionParameter)#4 (1) {
  102. ["name"]=>
  103. string(1) "c"
  104. }
  105. }
  106. --getNumberOfParameters--
  107. int(3)
  108. --getNumberOfRequiredParameters--
  109. int(1)
  110. Done