ReflectionParameter_001.phpt 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. --TEST--
  2. ReflectionParameter class - getNames() method.
  3. --CREDITS--
  4. Robin Fernandes <robinf@php.net>
  5. Steve Seear <stevseea@php.net>
  6. --FILE--
  7. <?php
  8. class ReflectTestClass {
  9. public static function twoArgFunction($theIncrement, $anotherParam) {
  10. return ++$theIncrement;
  11. }
  12. public function oneArgNonStatic($theParam) {
  13. $theParam--;
  14. }
  15. public function noArgs() {
  16. echo "No arg function\n";
  17. }
  18. }
  19. // Create an instance of the Reflection_Method class
  20. $method = new ReflectionMethod('ReflectTestClass', 'twoArgFunction');
  21. // Get the parameters
  22. $parameters = $method->getParameters();
  23. echo "Parameters from twoArgMethod:\n\n";
  24. foreach($parameters as $parameter) {
  25. var_dump($parameter);
  26. $name = $parameter->getName();
  27. echo "\n";
  28. }
  29. $method = new ReflectionMethod('ReflectTestClass', 'oneArgNonStatic');
  30. $parameters = $method->getParameters();
  31. echo "Parameters from oneArgNonStatic:\n\n";
  32. foreach($parameters as $parameter) {
  33. var_dump($parameter);
  34. $name = $parameter->getName();
  35. echo "\n";
  36. }
  37. $method = new ReflectionMethod('ReflectTestClass', 'noArgs');
  38. $parameters = $method->getParameters();
  39. echo "Parameters from noArgs:\n\n";
  40. var_dump($parameters);
  41. foreach($parameters as $parameter) {
  42. var_dump($parameter);
  43. $name = $parameter->getName();
  44. echo "\n";
  45. }
  46. echo "done\n";
  47. ?>
  48. --EXPECTF--
  49. Parameters from twoArgMethod:
  50. object(ReflectionParameter)#%i (1) {
  51. ["name"]=>
  52. string(12) "theIncrement"
  53. }
  54. object(ReflectionParameter)#%i (1) {
  55. ["name"]=>
  56. string(12) "anotherParam"
  57. }
  58. Parameters from oneArgNonStatic:
  59. object(ReflectionParameter)#%i (1) {
  60. ["name"]=>
  61. string(8) "theParam"
  62. }
  63. Parameters from noArgs:
  64. array(0) {
  65. }
  66. done